2

「含む」と「含まない」の正規表現が必要です。通常、私はただ書くだけです:

含む: ((.*WORD_A.*))$含ま ない: (^((?!WORD_A).)*)$

これ単体で使えば問題ないのですが、sthを検出できるものを書きたいと思います。「単語 A と単語 B を含む」(順序は関係ありません!) や「単語 A を含みますが、単語 B は含みません)」などです。

基本的に、ユーザーが「単語 A で始まり、単語 B を含むが、C ではなく、D で終わる」というようなステートメントを作成でき、プログラムが true/false を返すことを望んでいます。最良の方法は、正規表現を追加することです。これは可能ですか?私はそれを理解することはできません。

4

1 に答える 1

4

あなたの例では、次のような先読みアサーションを使用します。

^WORD_A(?=.*WORD_B)(?!.*WORD_C).*WORD_D$

必要に応じて、いつでも条件を追加できます (別の先読みを追加するだけです)。たとえば、WORD_A と WORD_B を含み、WORD_C も WORD_D も含まない任意の文字列と一致させたい場合:

^(?=.*WORD_A)(?=.*WORD_B)(?!.*WORD_C)(?!.*WORD_D)
于 2013-09-05T13:07:16.123 に答える