javascript - JavaScript 中的变量 RegEx 字符串替换

标签 javascript regex sencha-touch

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

例如,请考虑以下示例:

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

引用:String.prototoype.replace

关于javascript - JavaScript 中的变量 RegEx 字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5292804/

相关文章:

javascript - 使用 jQuery 定位 div 中的类并在同一 div 中执行其他更改

javascript - 如何填充 Backbone 集合

c# - c#中用于变量声明和初始化的正则表达式

javascript - 在 sencha Touch 中将商店中的项目动态加载到选项卡面板

javascript - CanvasJS 实时折线图

javascript - 沃格尔斯错误: Error: Cannot find module './build/Release/DTraceProviderBindings'

javascript - 我的脚本没有在 chrome 上显示的问题

regex - 使用 Ragel 在 Golang 中求两个正则表达式的交集

javascript - Sencha Touch - 菜单和边缘滑动错误

ios - 如何在 iPhone/iPad/iOS 应用程序上实现 AirPrint 按钮?