正規表現の先読み・後読みを使ってうまく検索

正規表現の先読み・後読みを使うと例えば「直前にABがないCD」というような検索ができる。

直前にABがないCD(後読みの例)

(?<!MY)CD

直後にEFがあるCD(先読みの例)

CD(?=EF)

先読み、後読みって。。。

訳し方が悪すぎらしい。後読みは「look behind」で直後を見ろってこと。 先読みは「look ahead」で直前を見ろってこと。

正規表現 意味
(?=regex) regexがある直前を見ろ
(?!regex) regexが無い直前を見ろ
(?<=regex) regexがある直後を見ろ
(?<!regex) regexが無い直後を見ろ

となる。言語の違いなんだろうね。参考サイトは以下。

こんどこそわかる(肯|否)定(先|後)読み

[コラム] 正規表現の先読み/後読みは、どう考えても名前が悪いので、呼称禁止令を出してルックと気軽に呼んでみませんか。