我只想知道ruby正则表达式是否与!~perl中的不匹配运算符一样.我觉得使用起来不方便,(?!xxx)或者(?<!xxxx)因为你不能在xxx部件中使用正则表达式.
Kon*_*lph 148
是的:!~工作得很好 - 你可能认为它不会因为它在文档页面中遗漏了Regexp.不过,它有效:
irb(main):001:0> 'x' !~ /x/
=> false
irb(main):002:0> 'x' !~ /y/
=> true
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)