我有这个正则表达式:
/\{([a-zA-Z\.]*)\
我想用它来代替这样的文字:
{identifier}
使用值作为对象属性,其名称为括号的值。在这种情况下,它将是object.identifier
。类似的东西:
html.replace(/\{([a-zA-Z\.]*)\}/g, object.$1);
感谢快速共鸣,这是最终的代码
html = html.replace(/\{([a-zA-Z\.]*)\}/g, $.proxy(function (match, contents, offset, s) {
return objx.get(this.response[object.attr("data-index")],contents);
},this));
答案 0 :(得分:2)
您可以为.replace
指定回调:
html.replace(/{([a-zA-Z.]*)}/g, function(x, a) {
return object[a];
});