Przyjmować tego wyrażenia regularnego: /^[^abc]/
. Spowoduje to dopasowanie dowolnego znaku na początku łańcucha, z wyjątkiem a, b lub c.
Jeśli dodasz *
po nim - /^[^abc]*/
- wyrażenie regularne będzie dodawać każdy kolejny znak do wyniku, dopóki nie spotka się z a
, lub b
, lub c
.
Na przykład w przypadku ciągu źródłowego "qwerty qwerty whatever abc hello"
wyrażenie będzie pasować do"qwerty qwerty wh"
.
Ale co, jeśli chcę, aby pasował do niego ciąg "qwerty qwerty whatever "
... Innymi słowy, jak mogę dopasować wszystko do dokładnej sekwencji (ale nie w tym) "abc"
?
"qwerty qwerty whatever "
- nie licząc „abc”. Innymi słowy, nie chcę, aby wynikowe dopasowanie było "qwerty qwerty whatever abc"
.
do string.split('abc')[0]
. Z pewnością nie jest to oficjalna odpowiedź na ten problem, ale uważam, że jest to prostsze niż regex.
match but not including
?