有没有一种简单的方法可以使用正则表达式找到所有匹配的字符串,然后使用部分结果作为替换?
例如,请考虑以下示例:
tpl: '<a href="{link_url}">{link_html}</a>';
在这里,我想运行一个简单的 RegEx 来查找与“{string}”模式的任何匹配项,然后使用大括号之间的内容作为数组键。因此,该示例的结果将是:
数组[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>'
关于javascript - JavaScript 中的变量 RegEx 字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5292804/