2016-12-24 6 views
1

3つ目の文字列が一致する場合を除き、1つまたは他の文字列と一致する正規表現を作成しようとしています。正規表現が一致するネゲート式で停止しない

1.文字列に 'never'がある場合は一致しません 2.文字列に「失望」または「不幸」が含まれている場合は、それ以外は一致します。

は私が (?!。(決して)$)を使用してみました((がっかり)|(不幸))*

問題がある - それは否定(上記#1)をキャッチしdoesntの。すなわち、下記の3つすべてにマッチしますが、下の2と3にマッチするはずです。

決して失望

非常に失望

不幸失望

+0

プログラミング言語は何ですか? – RomanPerekhrest

答えて

2

あなたは

^(?!.*never).*(disappointed|unhappy).* 

を使用することができregex demoを参照してください。

詳細

  • ^ - 文字列の先頭
  • (?!.*never) - 改行以外の任意の0+文字の後に表示されることが何neverサブなかっ
  • (DOTALL修飾子は、任意の文字を使用した場合)
  • .* - 改行以外の0以上の文字
  • (disappointed|unhappy) - 2つのリテラルcharシーケンスのいずれか
  • .* - 任意の0+改行以外の文字
+1

これは動作します。助けてくれてありがとう! –

関連する問題