37

文字列「DontMatchThis」を含まない文字列と一致させたい。

正規表現は何ですか?

4

2 に答える 2

65

これを試して:

^(?!.*DontMatchThis).*$
于 2009-08-23T11:14:01.383 に答える
35

特定のパターンを含まない文字列に一致する正規表現は

(?s)^(?!.*DontMatchThis).*$

を使用せずにパターンを使用する場合(これは、改行 LF 記号および他のすべての文字と一致させるフラグ(?s)のインライン バージョンです)、は最初の行でのみ検索され、LF 記号を含まない文字列のみが検索されます。と一致します。RegexOptions.Singleline.DontMatchThis.*

パターン詳細:

  • (?s).-任意の文字に一致させる DOTALL/Singleline 修飾子
  • ^- 文字列アンカーの開始
  • (?!.*DontMatchThis)- 0 個以上の文字があるかどうかをチェックする否定的な先読み.*(貪欲なサブパターンと一致) -注意:遅延.*?バージョン (次のサブパターン一致の前にできるだけ少ない文字と一致する) はDontMatchThis、文字列の開始点に近いと予想される場合、ジョブをより迅速に完了させる可能性があります) に続くDontMatchThis
  • .*- 任意の 0 個以上の任意の文字、可能な限り多く、最大
  • $- 文字列の終わり (アンカー文字: ドル ( $)を参照)。
于 2016-08-25T21:01:59.203 に答える