Java正規表現を使用して一連の単語を否定したいと思います。
cvs
、svn
、nvs
、を否定したいとしmvc
ます。である正規表現を書きました^[(svn|cvs|nvs|mvc)]
。
それが機能していないように見える方法もあります。
Java正規表現を使用して一連の単語を否定したいと思います。
cvs
、svn
、nvs
、を否定したいとしmvc
ます。である正規表現を書きました^[(svn|cvs|nvs|mvc)]
。
それが機能していないように見える方法もあります。
これを試して:
^(?!.*(svn|cvs|nvs|mvc)).*$
svn、cvs、nvs、mvc のいずれも含まれていない場合、これはテキストと一致します。
これは同様の質問です:特定の文字列を含まない文字列に一致する C# 正規表現?
それほど単純ではありません。単語を否定したい場合は、単語を文字に分割し、各文字を否定する必要があります。
だから否定する
/svn/
あなたは書く必要があります
/[^s][^v][^n]/
したがって、除外したいものは本当に醜い正規表現に変わり、この正規表現を使用する方が良いと思います
/svn|cvs|nvs|mvc/
それに対して文字列をテストするときは、結果を否定するだけです。
JS では、これはそれほど似ていません。
!/svn|cvs|nvs|mvc/.test("this is your test string");
あなたの正規表現は間違っています。角括弧の間には、必須または無視する文字を入れることができます。見つからなくても^(svn|cvs|nvs|mvc)$
大丈夫です。