0
在Ruby 1.8.7中,以下正则表达式警告:嵌套重复运算符+和*被替换为'*'。Ruby 1.8.7中的正则表达式错误,但不是2.0?
^(\w+\.\w+)\|(\w+\.\w+)\n+*$
它确实在Ruby 2.0中工作?
http://rubular.com/r/nRUSP5LNZA
在Ruby 1.8.7中,以下正则表达式警告:嵌套重复运算符+和*被替换为'*'。Ruby 1.8.7中的正则表达式错误,但不是2.0?
^(\w+\.\w+)\|(\w+\.\w+)\n+*$
它确实在Ruby 2.0中工作?
http://rubular.com/r/nRUSP5LNZA
嵌套操作者的作品,但被警告,因为它是无用的。 \n+*
手段:
\n
更repeatition更repeatition这相当于一个更简单的表达式\n*
,这意味着:
\n
没有理由使用\n+*
。在Ruby 1.9和Ruby 2.0中,Ruby正则表达式引擎被替换了,如果有任何区别,那么更新的引擎不会像老版本那样检查警告。
是的,您应该使用'+'或'*'但不是两者。 – tadman
'x + *'不是我熟悉的构造;这是一个Ruby的东西?另外,为什么不使用'^(\ w + \。\ w +)\ |(\ w + \。。w +)$'? –
其实@pswg我确定我的正则表达式也是错误的,我真正想要的是必须有一个或多个行上的管道分隔两个文件,这似乎是在http://rubular.com/r/nRUSP5LNZA – kreek
找出/ ^((\ w + \。\ w +)\ |(\ w + \。\ w +)(\ r \ n)*)* $ /' – kreek