var str = "AaaBbbbCcDdddddddd";
//alert(str.replace(/((\w)\2*)/ig,'$1.').replace(/[\s\S]$/,''))
alert(str.replace(/(\w)([^\\1])/i,'$1.$2'))
//这个地方  我以为会成为Aaa.BbbbCcDdddddddd结果不是  哪里错了

解决方案 »

  1.   

    只是输出Aaa.BbbbCcDdddddddd这个结果的话,这样行不?
    alert(str.replace(/(\w)(\1+)/i,'$1$2.'));
      

  2.   

    在我上面的那个正则里面已经有个正确的答案了
    //alert(str.replace(/((\w)\2*)/ig,'$1.').replace(/[\s\S]$/,''))
    只是不明白
    在[]里面怎么写 反向引用
      

  3.   

    (\w)匹配的是A
    [^\\1]表示的是[^A],所以匹配的是a
    replace方法replace后就成了A.a了,后面不变
    楼主的这个思路都是有问题的
      

  4.   


    var str='A1aaBbbbCcDdddddddd';
    alert(str.replace(/(\w)([\\1])/i,'$1.$2'));
    //改了一下,是不是就能看出来点了?[^\\1]表示的不是对前面的引用了.只是表示不是\和1的字符