正規表現の先読みがちょっと理解できた。

ベストタイミング!昨日全く理解できなかった、(?=foo)がやっと理解できた!!
404 Blog Not Found regexp - lookahead and lookbehind assertions

より。

RegexpにおけるAssertionは、その条件が合致するところまで検索カーソルを移動する

・・・よくわからないので、ふくろう本を読み返してみた。

先読み処理は、条件にあった"位置"にマッチする。

Its easy!

sの前に'を付けたいとき、

/s\b/だと"s"にマッチしてしまう。置換するときちょっと困る。(代替はある)

だから・・・(?=s\b)で、"位置"だけマッチさせる。

p "Its easy!".gsub(/(?=s\b)/, "'")
#=> "It's easy!"

Itとsの間の"位置"にマッチ出来ました。

正規表現の先読みがちょっと理解できた。