次の正規表現を見てください/^[^abc]/
。これは、a、b、cを除く、文字列の先頭にある任意の1文字と一致します。
あなたが追加した場合*
、それの後に- /^[^abc]*/
-正規表現は、それがいずれか満たすまで、その結果をその後の各文字を追加していきますa
、または b
、または c
。
たとえば、ソース文字列の"qwerty qwerty whatever abc hello"
場合、式はまで一致し"qwerty qwerty wh"
ます。
しかし、一致する文字列にしたい場合 "qwerty qwerty whatever "
...言い換えれば、どのようにして正確なシーケンス まで(ただし、それを含まない)すべてを一致させることができます"abc"
か?
"qwerty qwerty whatever "
「abc」を含めずに一致させたいのです。つまり、結果の一致がになりたくありません"qwerty qwerty whatever abc"
。
do string.split('abc')[0]
。確かにこの問題に対する公式の回答ではありませんが、正規表現よりも簡単だと思います。
match but not including
ですか?