(?<!expression) 前方不一致指定(Ver5.70対応版)
 前方一致指定とは反対に、前方部分が特定のパターンにヒットしないことを必要とします。例えば「xyz」の前が「abc」でない場合に「xyz」のみにヒットさせたいようなケースで使います。

 上記例では、
(?<!abc)xyz
 と指定します。

 前方不一致指定は、正規表現文字列の先頭に書く必要があります。また、前方一致指定の表記自体をカッコで囲んだり「|」などと組み合わせることは出来ません。そういう指定をしてもエラーにはなりませんが、間違った検索を実行してしまいます。

【 検索系コマンドでの次候補/下候補系コマンド実行時の注意 】

 前方一致指定と同じく、前方不一致の正規表現のマッチングも、検索開始位置として指定された位置から実行されます。それより前の部分については一致/不一致のチェックは行われません。
 例えば上の例で、「abcxyz」の「x」の部分から検索を開始してしまうとヒットしてしまいます。


戻る