2009-07-20 13 views
35

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

+0

リンク:[正規表現と完全な文字グループを無効にする](0120-338-502)、 – Unihedron

答えて

42

あなたは負の先読みを使用することができます:それはどこかの文字列に2つのピリオドのシーケンスを見つけることができるかどうか一致しないように発現を引き起こす

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

を。

+6

ああ、忍者編集スキル:) +1 –

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

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

関連する問題