読者です 読者をやめる 読者になる 読者になる

rubyの正規表現の後方参照

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 みたいな意味不明な記号使わないで済むのでわかりやすくなる。