使い方
(?=pattern)
: 先読み(?!pattern)
: 否定先読み(?<=string)
: 後読み (=戻り読み)(?<!string)
: 否定後読み (=否定戻り読み)
参考:
Lookahead and Lookbehind Zero-Length Assertions | Regular-Expressions.info
特定の文字列を含まない表現
特定のパターンを含まない行を探す。
^(?!.*PATTERN).+$
特定のパターンをいずれも含まない行を探す。
^(?!.*PATTERN_A|PATTERN_B).+$
特定のパターンで始まらない行を探す。
^(?!PATTERN).+$
特定のパターンで終わらない行を探す。
^(?!.*PATTERN$).+$
パターンAを含まないが、パターンBを含む行を探す。
^(?!.*PATTERN_A).*(?=PATTERN_B).*$
参考:
文字列を含まない/否定の表現まとめ | WWW クリエイターズ
指定した文字列を含まない行を検索する方法 | buralog
否定の正規表現の書き方/~ではない行/~を含まない行 | 株式会社 AMG Solution