Hatena::Grouprubyist

Rubyをラクガク(正規表現編) RSSフィード

2009-11-22

[] 後方参照  後方参照 - Rubyをラクガク(正規表現編) を含むブックマーク はてなブックマーク -  後方参照 - Rubyをラクガク(正規表現編)  後方参照 - Rubyをラクガク(正規表現編) のブックマークコメント

正規表現 \1 \2 ... \n は、後方参照です。n 番目の括弧(正規表現 ( ) グルーピング)にマッチした文字列にマッチします。

プログラミング言語 Ruby リファレンスマニュアル

置換する時にはよくお世話になっている後方参照をマッチのみで使用する。

puts "/(hoge)(foo)\1\2/ =~ 'hogefoohogefoo': #{/(hoge)(foo)\1\2/ =~ 'hogefoohoge\
foo'}"
puts "/(hoge)(foo)\1\2/ =~ 'hogefoo': #{/(hoge)(foo)\1\2/ =~ 'hogefoo'}"
puts "/(hoge)(foo)\1*\2*/ =~ 'hogefoo': #{/(hoge)(foo)\1*\2*/ =~ 'hogefoo'}"
puts "/(hoge)(foo)\1+\2+/ =~ 'hogefoohogefoo': #{/(hoge)(foo)\1+\2+/ =~ 'hogefoo\
hogehogehogefoofoo'}"
/(hoge)(foo)^A^B/ =~ 'hogefoohogefoo': 0
/(hoge)(foo)^A^B/ =~ 'hogefoo':
/(hoge)(foo)^A*^B*/ =~ 'hogefoo': 0
/(hoge)(foo)^A+^B+/ =~ 'hogefoohogefoo': 0

正規表現リテラルをキレイに書きたい。