abbinando una riga che non contiene testo specifico con espressioni regolari
-
22-07-2019 - |
Domanda
Voglio fare quanto segue con le espressioni regolari ma non sono sicuro di come farlo. Voglio che corrisponda a uno due
quando uno due
è l'inizio della riga a meno che la stringa non contenga tre
ovunque dopo uno due
.
Soluzione
Hai bisogno di una affermazione negativa per lo sguardo - qualcosa in questo modo:
/^one two(?!.*three)/m
Ecco un tutorial su asserzioni lookahead / lookbehind
Nota: ho aggiunto il modificatore 'm' in modo che ^ corrisponda all'inizio di una riga anziché all'inizio dell'intera stringa.
Altri suggerimenti
^one two(?!.*three)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow