1

正確なフレーズを除外する方法は?!

たとえば、正規表現コード内でこれを一致させたくない:

a sentence with hello phrase

でもこれに合わせて

a sentence with oehll phrase

最初に私はこれを使用しました:

^([^hello]*)$

しかし、唯一の問題は、文字「h」、「e」、「l」、および「o」を除外することです (「hello」という用語ではありません)。

私はこれに関する多くの記事を読み、\b、(?!...)、および (...) を想定できる方法で使用しましたが、できません!

4

1 に答える 1

0

次の正規表現を使用してみてください。

^.*((\W|^)hello(\W|$)){0}.*$

これは単なるハックであり、残念ながらこの表現では、他の単語の中に「こんにちは」が埋め込まれた文も除外されます。(例:「ハローアウトのフレーズを含む文章」)

代替手段: 次を使用して、目的のフレーズを含む文を検出します。

^.*((\W|^)hello(\W|$)).*$

そして、そのフレーズを含む文を削除するだけです。

免責事項: また、この表現は、英語の文章ではなく、テキスト ファイル内の生の行を扱うことを想定して書かれています。実際の文で作業したい場合は、まずテキストを個別の文にトークン化し、次に同様の正規表現で各文をテストすることをお勧めします。

于 2013-03-16T22:00:28.963 に答える