faire correspondre une ligne qui ne contient pas de texte spécifique avec des expressions régulières
-
22-07-2019 - |
Question
Je veux faire ce qui suit avec des expressions régulières mais je ne sais pas comment le faire. Je veux qu'il corresponde à un deux
lorsque un deux
est le début de la ligne, sauf si la chaîne contient trois
n'importe où après un deux
.
La solution
Vous avez besoin d'une assertion de lookahead négatif - quelque chose comme ceci:
/^one two(?!.*three)/m
Voici un didacticiel sur les assertions lookahead / lookbehind
Remarque: j'ai ajouté le modificateur 'm' afin que ^ corresponde au début d'une ligne plutôt qu'au début de la chaîne entière.
Autres conseils
^one two(?!.*three)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow