Ruby的正则expression式有一个不匹配的运算符,比如Perl中的“!〜”吗?

我只是想知道ruby正则expression式是否有一个不匹配的运算符就像!~在Perl中。 我觉得使用(?!xxx)(?<!xxxx)是不方便的,因为你不能在xxx部分使用正则expression式模式。

是的: !~工作得很好 – 你可能认为这不会是因为Regexp的文档页面丢失了 。 不过,它的作品:

 irb(main):001:0> 'x' !~ /x/ => false irb(main):002:0> 'x' !~ /y/ => true 

AFAIK(?!xxx)支持:

 2.1.5 :021 > 'abc1234' =~ /^abc/ => 0 2.1.5 :022 > 'def1234' =~ /^abc/ => nil 2.1.5 :023 > 'abc1234' =~ /^(?!abc)/ => nil 2.1.5 :024 > 'def1234' =~ /^(?!abc)/ => 0