var str='a/a/a/a/b/b/c/c/c/d/e/e/e';
alert(str.match(/((\w+)\/)\1*\2*/g));

解决方案 »

  1.   


    不好意思,再请教一下,我写了如下代码:
    <script>
    var str='a/a/a/a/b/b/c/c/c/d/e/e/e';
    var str2=str.match(/((\w+)\/)\1*\2*/g);
    alert(str2.split(",")[0])
    </script>
    运行通不过,提示:“对象不支持split属性或方法”
    (我是用的IE10)
      

  2.   

    var str='a/a/a/a/b/b/c/c/c/d/e/e/e';
    var result=str.match(/((\w+)\/)\1*\2*/g);  //result已经是数组了,直接取数据即可,无需分离
    alert(result[0]);
      

  3.   

    太感谢了
    那,如何知道result的长度呢?
    可以直接用split(result,",").length吗?
      

  4.   

    太感谢了
    那,如何知道result的长度呢?
    可以直接用split(result,",").length吗?不是吧,最基本的东西要掌握呀,result已经是数组了,那么怎么得到数组的长度,你不知道吗?
    数组本身就有属性length  即result.length
      

  5.   

    太感谢了
    那,如何知道result的长度呢?
    可以直接用split(result,",").length吗?不是吧,最基本的东西要掌握呀,result已经是数组了,那么怎么得到数组的长度,你不知道吗?
    数组本身就有属性length  即result.length实在是不好意思
    今天将这段代码换成了中文人名后,提示为null
    即将:var str='张三/张三/张三/张三/李四/李四/王小二/王小二/王小二/王小二/';
    Return_false兄能不能帮解释一下这个正则表达式的含义,我会学着试着去改改看。
    网上百度了很多次,没有找到答案!