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
.
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
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