2 freeheartsz freeheartsz 于 2014.01.20 09:26 提问

菜鸟求助解释一句正则表达式

var str='a/a/a/a/b/b/c/c/c/d/e/e/e';

var result=str.match(/((\w+)\/)\1*\2*/g);

现在我将str换成中文人名,这段代码就不能运行,提示为null。
请教高手帮个忙解释一下这个表达式的具体意思。我好试着修改

1个回答

sixufei__
sixufei__   2014.03.13 16:56

\w无法匹配汉字,换成这样就行了,str.match(/(([A-Za-z0-9\u4e00-\u9fa5]+)\/)\1*\2*/g);

\1表示第一个括号里面匹配的内容,同理\2,g为全局匹配

Csdn user default icon
上传中...
上传图片
插入图片