首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

通过正则表达式使用string.replace替换字符串解决方法

2012-05-29 
通过正则表达式使用string.replace替换字符串看到淘宝UED资料上有个实例,使用模板拼接字符串,json格式的数

通过正则表达式使用string.replace替换字符串
看到淘宝UED资料上有个实例,使用模板拼接字符串,json格式的数据如下:

JScript code
var json = {name: "流火", blog: "ued.t"};

想得到下面的效果:
流火 (blog: ued.taobao.com)
使用模板函数的方法为:
JScript code
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);

我的问题是正则表达式中的那个句号. 及外面的小括号() 还有后面函数中的$都是什么意思?

[解决办法]
都是正则表达式的原字符,网上搜一下30分钟入门正则看看就知道了
[解决办法]
. 小数点可以匹配除了换行符(\n)以外的任意一个字符

小括号() 表示分组捕获

$ 是取得匹配正则的字符

$1 取得 第一个分组捕获


楼主搜下 30分钟正则入门,看看先。。



[解决办法]
. 匹配出回车以外的任何字符
() 分组
function($, $1) 中 $ 是匹配模式的字符串,$1 是与第一个子表达式匹配的字符串

热点排行