replaceメソッドの正規表現
var hoge = "ほげっていますYO!"; var bfr = "YO"; var aft = "NE"; var s = hoge.replace(/bfr/g, aft);
みたく、パターン文字列んとこを変数に出来たらいいのに。
軽くはまってしまいました。。。(つд`)
追記 パターン文字列に変数を使う方法
id:os0xさん、ありがとうございます!
var hoge = "ほげっていますYO!"; var bfr = "YO"; var aft = "NE"; var s = hoge.replace(new RegExp(bfr, 'g'), aft);
といった感じで、正規表現オブジェクトとして渡してやると、パターン文字列も変数に出来ます。
( ^ω^)
注意点
正規表現オブジェクト内の変数のエスケープは、javascript自体の文法に則り、
エスケープさせないと駄目です。
例えば、全ての数字にマッチさせるパターン文字列は、通常
¥d
と書きますが、javascriptの文法上で¥マークはエスケープ文字なので
¥¥d
といった感じにしてやらないと駄目です。
※う〜ん、語彙が乏しいので上手く説明出来ている気がしない…orz