2010年8月 6日

[Ruby]正規表現をグループ化し、マッチしたものを置換したい場合はシングルクオーテーションを

(...)で正規表現をグループ化し、後でマッチしたものを\1、\2で呼び出したい時はぜひシングルクオーテーションとダブルクオーテーションに注意。
この場合はシングルクオーテーションを使ってください。

"hello".gsub(/([aeiou])/, '<\1>')         #=> "h<e>ll<o>"
"hello".gsub(/([aeiou])/, "<\1>")         #=> "h< >ll< >"

ここは括弧が付いてるからマッチしたものは\1で呼び出せます。そしてマッチの規則はa,e,i,o,uのいずれかです。なので"hello"の中の"e"と"o"が置換されました。

秀丸でやったときはダブルクオーテーションも大丈夫だっだ。。。

Share on Twitter Share the post
Qihuan Piao

朴 起煥

東京で働いている「外人歴」9年のソフトウェア「ライター」。いつの間にか納豆が食えるようになり、これで日本に慣れきったと思いきやまだまだ驚きが続いてる。読んだり書いたりするのが好きで、自身の経験や本から得た「何か」をここに書き出してる。最近古本屋にハマってる。

他にも英語中国語で書いてます、よろしければチェックしてみてください。