JavaScript中的变量RegEx字符串替换

时间:2011-03-13 22:10:12

标签: javascript regex sencha-touch

是否有一种简单的方法可以使用正则表达式查找所有匹配的字符串,然后使用部分结果作为替换?

例如,请考虑以下示例:

tpl: '<a href="{link_url}">{link_html}</a>';

在这里,我想运行一个简单的RegEx来查找与'{string}'模式的任何匹配,然后使用花括号之间的内容作为数组键。因此,该示例的结果将是:

array [link_url]和array [link_html]

谢谢!

1 个答案:

答案 0 :(得分:2)

如果我理解正确,你需要这样的东西:

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>'

参考String.prototoype.replace