rubyの正規表現の後方参照

Ruby 1.9以降では正規表現のキャプチャに名前がつけられるのでこういう書き方ができる。

img = 'foo.png'
img_on = img.sub /\.(?<ext>\w+)$/, '_on.\k<ext>'
p img_on #=> foo_on.png

(?...) でキャプチャして \k で参照できる。$1 とか \1 みたいな意味不明な記号使わないで済むのでわかりやすくなる。