想把字符串里的所有“()”去掉,代码如下:var all="(((()))";
all.replace(/\(\)/g,'');
为什么只替换了一次?
有人知道原因吗?

解决方案 »

  1.   

    因为你要这样
    all.replace(/(\()*(\))*/g,''); 
      

  2.   


    var all="(((()))"; 
    while(/\(\)/.test(all)){
      all = all.replace(/\(\)/g,'');
    }
    alert(all)
      

  3.   

    var all="(((()))";
    all.replace(/\(|\)/g,''); 
      

  4.   

    啊,看错了。类似hookie的反复判断余下串是否含有()吧。这样的问题使用堆栈还好,不用正则。
      

  5.   

    因为all.replace(/\(\)/g,''); 只匹配最里面的()