有沒有簡單的方法來使用正則表達式來查找所有匹配的字符串,然後使用部分結果作爲替換?JavaScript中的變量RegEx字符串替換
例如,請考慮下面的例子:
tpl: '<a href="{link_url}">{link_html}</a>';
在這裏,我想運行一個簡單的正則表達式來尋找任何匹配的「{字符串}」模式,然後使用大之間有什麼大括號作爲數組鍵。所以,從例子中的結果將是:
陣列[LINK_URL]和陣列[LINK_HTML]
謝謝!
有沒有簡單的方法來使用正則表達式來查找所有匹配的字符串,然後使用部分結果作爲替換?JavaScript中的變量RegEx字符串替換
例如,請考慮下面的例子:
tpl: '<a href="{link_url}">{link_html}</a>';
在這裏,我想運行一個簡單的正則表達式來尋找任何匹配的「{字符串}」模式,然後使用大之間有什麼大括號作爲數組鍵。所以,從例子中的結果將是:
陣列[LINK_URL]和陣列[LINK_HTML]
謝謝!
如果我理解正確的話,你想是這樣的:
var map = {link_url: 'msn.com', link_html: 'MSN' };
var str = '<a href="{link_url}">{link_html}</a>';
str = str.replace(/\{(\w+)\}/g, function(m, p1) {
return map[p1];
});
將返回
'<a href="msn.com">MSN</a>'
謝謝,這很好! – BenM 2011-03-13 23:12:50
@BenM:不客氣:)我很高興這是你想要的,因爲我不是100%確定的。您的描述不是*明確的;) – 2011-03-13 23:17:28
你希望自己的數組的值是什麼成爲? – 2011-03-13 22:26:30
它們實際上涉及一系列對象,例如: 按鈕:[ {link_url:'google.com',link_html:'Google'}, {link_url:'msn.com',link_html:'MSN'} ] – BenM 2011-03-13 22:29:22