🖥

絵で覚える正規表現 —「先読み」と「後読み」は「マッチ進行方向」が鍵

2023/08/26に公開

参考

lookaheadは、現在地から進行方向にあるものを先取りして見ることです。/b(?=a)/の場合、「現在地」はbで、そこに立って進行方向にaがあるかを見るのでlookaheadと呼びます。

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

昔とあるところに正規表現がいた

image

マッチは左から右へと進む

image

「先」とは「マッチの進行方向」に対して「先」だ

元は Lookahead (前方向を見る) という

image

「後」とは「マッチの進行方向」に対して「後ろ」だ

元は Lookbehind (後ろを振り返る) という

「あと」というより「うしろ」

「戻り読み」と訳しているサイトもある

image

マッチは始まりから終わりへと進む

未来に向かっているのが「先」で

過去を振り返るのが「うしろ」だ

image

よく見ると「後読み」の記法には「過去」に向いた左矢印がある

image

逆に「先読み」の記法には「未来」を向いた右矢印はない

だが時間が過去から未来へと進むのはあまりにも当たり前なので、省略されているのだ、と考えてみる。

image

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2018-09-14

Discussion