看到淘宝UED资料上有个实例,使用模板拼接字符串,json格式的数据如下:var json = {name: "流火", blog: "ued.t"};想得到下面的效果:
流火 (blog: ued.taobao.com)
使用模板函数的方法为:function sub(str, data){
return str.replace(/{(.*?)}/igm, function($, $1){
return data[$1]?data[$1]:$;
});
}
var tpl = '{name} (blog: {blog})';
var html = sub(tpl, json);我的问题是正则表达式中的那个句号. 及外面的小括号() 还有后面函数中的$都是什么意思?
流火 (blog: ued.taobao.com)
使用模板函数的方法为:function sub(str, data){
return str.replace(/{(.*?)}/igm, function($, $1){
return data[$1]?data[$1]:$;
});
}
var tpl = '{name} (blog: {blog})';
var html = sub(tpl, json);我的问题是正则表达式中的那个句号. 及外面的小括号() 还有后面函数中的$都是什么意思?
() 分组
function($, $1) 中 $ 是匹配模式的字符串,$1 是与第一个子表达式匹配的字符串