2009-11-22
■ [正規表現] 後方参照

正規表現 \1 \2 ... \n は、後方参照です。n 番目の括弧(正規表現 ( ) グルーピング)にマッチした文字列にマッチします。
正規表現
置換する時にはよくお世話になっている後方参照をマッチのみで使用する。
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
正規表現リテラルをキレイに書きたい。
コメントを書く