>> 'hola(' =~ /\w+[^(]/
=> 0
>> $&
=> "hola"
据我所知,/\w+[^(]/
应该匹配一个不跟一个单词的单词(
。我也尝试negative look-behind
并逃脱了(
; 具有相同的结果。
我对此感到陌生,是如果我尝试使用/a[^(]/
,它将正常工作(按预期)。
>> 'hola(' =~ /a[^(]/
=> nil
因此,它肯定与+
量词有关。
发生了什么?
我尝试使用Ruby 2.2
和Python 3.3
实际上\w+[^(]
匹配一个或多个单词字符,然后匹配不是的任何字符(
。这意味着它将匹配hola
并忽略最后一个字符。
根据您想在哪里使用它,像这样的模式\w+\b(?!\()
可能会更适合,因为它会匹配不带的任何单词(
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句