web-dev-qa-db-fra.com

Ruby expression régulière a-t-il un opérateur de non correspondance comme "! ~" En Perl?

Je veux juste savoir si Ruby regex a un opérateur qui ne correspond pas comme !~ en Perl. Je pense qu'il n'est pas pratique d'utiliser (?!xxx)ou (?<!xxxx) car vous ne pouvez pas utiliser de modèles d'expression régulière dans la partie xxx.

79
user1793091

Oui: !~ fonctionne très bien - vous pensiez probablement que ce ne serait pas le cas parce que il est absent de la page de documentation de Regexp . Néanmoins, cela fonctionne:

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

AFAIK (?! Xxx) est pris en charge:

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
3
calfzhou