35

正規表現で文字列の否定を行うことは可能ですか? string を含まないすべての文字列に一致させる必要があります".."^[^\.]*$を含まないすべての文字列に一致させるために使用できることはわかっています"."が、複数の文字に一致させる必要があります。".."を含む文字列と単純に一致させ、一致の戻り値を否定して同じ結果を得ることができることは知っていますが、それが可能かどうか疑問に思いました。

4

2 に答える 2

42

否定先読みを使用できます。

^(?!.*\.\.).*$

これにより、文字列内のどこかに 2 つのピリオドのシーケンスが見つかった場合、式は一致しません。

于 2009-07-20T14:17:09.213 に答える
5
^(?:(?!\.\.).)*$

文字列のどこにも 2 つの連続するドットがない場合にのみ一致します。

于 2009-07-20T14:21:25.883 に答える