Open1

正規表現

yg_siroyg_siro

覚えづらい先読み/後読みアサーションの覚え方

マッチさせたい単語がxとし、yはマッチに含めない

  • x(?=y) - 先読みアサーション。xの後にyが続く場合にxにマッチ
  • x(?!y) - 否定先読みアサーション。xの後にyが続かない場合にxにマッチ
  • (?<=y)x - 後読みアサーション。xの前にyがある場合にxにマッチ
  • (?<!y)x - 否定後読みアサーション。xの前にyがない場合にxにマッチ
  1. 上記4つのアサーションに共通しているのは(?)
  2. 後読みは(?の後に<が続く 。
  3. 肯定しているのは=
    否定しているのは!
    2の後に書こう

先読みはxより先のyを調べに行くから。
後読みは一旦xまでいってからxの前にyがあるか後で調べるから。