Prendete questa espressione regolare: /^[^abc]/
. Questo corrisponderà a ogni singolo carattere all'inizio di una stringa, tranne a, b o c.
Se lo aggiungi *
dopo - /^[^abc]*/
- l'espressione regolare continuerà ad aggiungere ogni carattere successivo al risultato, fino a quando non incontra uno a
, o b
, o c
.
Ad esempio, con la stringa di origine "qwerty qwerty whatever abc hello"
, l'espressione corrisponderà a "qwerty qwerty wh"
.
E se volessi che la stringa corrispondente fosse "qwerty qwerty whatever "
... In altre parole, come posso abbinare tutto fino a (ma non includere) la sequenza esatta "abc"
?
"qwerty qwerty whatever "
- senza includere "abc". In altre parole, non voglio che la corrispondenza risultante sia "qwerty qwerty whatever abc"
.
do string.split('abc')[0]
. Certamente non è una risposta ufficiale a questo problema, ma lo trovo più semplice di regex.
match but not including
?