正規表現の先読みについて解説してみる - ’(rubikitch wanna be (a . lisper))

screenshot

先読み正規表現について、この前やっと理解できた。Rubyリファレンスマニュアルではこんな説明になっている。 (?= ) 先読み(lookahead)。パターンによる位置指定(幅を持たない) (?=re1)re2 という表現は、re1 と re2 両方にマッチするものにマッチする正規表現です。 re1(?=re2) という表現は、後に re2 とマッチする文字列が続く、正規表現 re1 です。 p /foo(?=bar)/ =~ "foobar" # => 0 p $&...

http://d.hatena.ne.jp/rubikitch/20080622/1214080482

先読み正規表現にマッチしたら先読みをスタートしたところまでマッチ位置を戻して後続処理を行う。リンク先rupy-listもご参考。
あとでよむ
理解してなかったけどこのエントリで理解した。 / 先読み正規表現はマッチ位置を移動しない。
今までよく分からなかったが、なんとなく理解。
先読み

http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/rubikitch/20080622/1214080482