baronyan's blog

linux,macでruby、railsでの開発をしていく中で知ったこと、備忘的なことなどを書いていきます。

gsubの第二引数(置換後)にマッチ結果を指定する方法

通常 /regexp/ =~ str

でマッチした結果は

$1や$&等で取得可能です。

 

ところが、stringのgsub(置換メソッド)でマッチ結果を使う場合は

少しやり方が変わります。

 

str.gsub(/regexp/, '\1')

これで第1マッチ結果を置換後の値として使用できます。

(通常は正規表現としてはこちらが"普通の"記述方法ですね。)

 

また、引数1つのgsubの場合には次のように通常のマッチ結果取得記述方法が使えます。

str.gsub(/regexp/) {$1}