「文字列1」又は「文字列2」で終了しない行を検索する

「行検索」の正規表現サンプル

やりたいこと

「文字列1」又は「文字列2」で終了しない行を検索する

 

正規表現

^.*(?<!AAA|BBB)$

赤文字:メタ文字
※上記の正規表現:文字列1を「AAA」、文字列2を「BBB」とする場合

 

検索結果

検索前

AAA
BBB
CCC
AAABBB
CCCAAA
BBBAAACCC
CCCBBB
EEEFFF
DDDBBBAAARRR

検索後

AAA
BBB
CCC
AAABBB
CCCAAA
BBBAAACCC
CCCBBB
EEEFFF
DDDBBBAAARRR

赤文字:条件に一致する文字列

 

解説

■^
 先頭を表します。

■.*
 .:改行以外のすべての文字を表します。
 *:直前のパターンの0回以上の繰り返しを表します。
 よって、.*は改行以外の文字が「ない」あるいは「1文字以上ある」状態を表します。

■(?<!AAA|BBB)
 (?<!~):否定後読みを表します。
 |:「又は」を表します。
 よって、(?<!AAA|BBB)は「AAA」と「BBB」にはマッチしないことを表します。

■$
 行末を表します。