freeheartsz 2014-01-20 01:26 采纳率: 0%
浏览 1625

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

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条回答 默认 最新

  • 江志伟 2014-03-13 08:56
    关注

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

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

    评论

报告相同问题?