ある単語・キーワードを含まない正規表現

どこかのサイトに掲載されていてサイトURLは失念したのですが、借用させていただいたのが以下の正規表現です。

(?:(?!単語名).)*

意味は、まず「(?!単語名).」の部分で「『単語名』が後ろに続いていない、ある1文字」を表します。 逆に「後ろに続いている」を表現する場合には「(?=単語名).」と記述します。 余談でした。

そして、それを(?:)で括って、1つのグループとして認識させます。 最後に「そのグループが0回以上繰り返されて構成されている文字列」ということで、アスタリスクをつけます。

使用例

たとえば、ある単語が入らないようにチェックする場合は、

/^(?:(?!単語名).)*$/

で調べることができます。


確かに正しく動作するのですが、他に同じような単語否定(タグ否定ではありませんよ)の正規表現が見当たりませんでした。

この正規表現でうまくマッチしないシチュエーションに、どのようなものがあるのかもし知っている方がいらっしゃったら、以下よりご意見くださいませ。

このページをシェアする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

2009-08-21