1
我要讓替換這樣的:JavaScript的:「動態」後向引用正則表達式替換
var txt = "Some text containing $_variable1 and with $_variable2 inside of it as well.";
var rx = /(\$_[a-z]+)/g
var $_variable1 = "A CAT";
var $_variable2 = "A HOTDOG";
var replaced_txt = txt.replace(rx, $1);
我想replaced_txt
平等「......含有A CAT與熱狗插件...」,但實現這一目標的唯一途徑,我已經發現迄今是這樣的:
var replaced_txt = txt.replace(rx, function($1){return eval($1)});
我有一種感覺,這是不是最優雅的解決方案,不是嗎?
最好我想避免eval()
我有這方面的想法感謝!
/C
似乎是正確的。我很確定`values [var] || 'default'會在這裏更加整潔,`var`可能不是最好的變量名稱(它是否工作?) – Kobi 2010-12-01 17:50:46