2014-05-08 36 views
0

我一直看到undefined (?...)序列:东西。对于这个特殊的我..错误我得到了几次,我不知道如何解决它

/(?<!\d)[0-3]?\d(?!\d)/ 

但这已经发生了几次,我不知道如何解决它。

这些总是在rubular中工作,但是当我运行它时会出现这个错误?

请帮忙!

+1

请提供你所到目前为止已经试过。 – hwnd

+0

如果你能解释你想用你的正则表达式来完成什么,这将有所帮助。我看到负面的后视和负面的前瞻,都涉及一个数字。一个你想要的结果的例子会很有帮助。请在评论中编辑而不是尝试这样做。 –

回答

0

它在这里工作:

[email protected]:~$ irb 
2.1.1 :001 > s = "somestring 23 and 34 and 233" 
=> "somestring 23 and 34 and 233" 
2.1.1 :002 > s.scan(/(?<!\d)[0-3]?\d(?!\d)/) 
=> ["23", "34"] 

检查你的红宝石版本:

Ruby的正则表达式引擎不支持回顾后小于1.9。

你需要切换到1.9+。

可选用法:你可以使用oniguruma

+0

只是因为它的工作,并没有解决任何问题。 – hwnd

+0

@hwnd aw对不起,我认为人们会从ruby版本中获得它。 – aelor

+0

这可能是一个愚蠢的问题,但我该如何改变我的红宝石版本? – user3606254

相关问题