08/03/24 20:25:07 gGfErR5e0
> ってか>>885-886の「~検索文字列と一致します」って表現はゼロ幅だという
> 意味合いが読み取りにくくて紛らわしい文章だなあ。
「~位置と一致します」と書くべきですよね。
本論とは関係ないけど、>>892のポインタ移動の説明はマズかったですね。
特に "foo|b" から "foob|" と進む部分。ここは一旦 "f|oob" とバックトラックするところでしょう。
.↓これより以前は処理済。ここに大しおり("V")を設置した上でポインタを進めて探索。
hoge|foobarbazfuga
.V ↓部分表現 "foo" がマッチ。ここに小しおり("v")を設置した上で、部分表現 "(^(^bar))" をテストする為に更にポインタを進める。
hogefoo|barbazfuga
.V .v ↓部分表現 "bar" がマッチ(小しおりの位置に部分表現 "(^(^bar))" がマッチ)することを確認。先読み完了。小しおりまで戻る。
hogefoobar|bazfuga
.V ↓部分表現 "baz" はマッチせず。結局、表現 "foo(^(^bar))baz" は表現全体としてはマッチしなかった。大しおりまで戻って1進む。
hogefoo|barbazfuga
.↓これより以前は処理済。この位置から改めてマッチングを試行していく。
hogef|oobarbazfuga
毎度毎度何気な~くWebページを読んでいるその裏に、いちいちこういう
ポインタが前へ後ろへと細かく激しく行き来する「三歩進んで二歩下がる~♪」な処理を
うんざりするほど繰り返した末にようやく1バイト前進するという
Proxomitron の涙ぐましい努力があるのかと思うと泣けてくる…。(´Д⊂ ホントニオツカレサマデス