那么多括号,还有?!这个正还是反的预查,看得头晕,sorry。

解决方案 »

  1.   

    呵呵,看错了看看这个呢?function R(){
    alert(arguments[0]);
    return '-';
    }
    reg=/\((?!\().*?\)/;
    str="((()))";
    str1="(((1)))";
    str2="(((Hello World))))))))";
    str.replace(reg,R);
    str1.replace(reg,R);
    str2.replace(reg,R);
      

  2.   

    测试4楼的哥们写的是正确的,但一朋友给我发了一正则也可以匹配以下str内最里层的小括号:
    \(((?!\().*(?!\)).)*\)
    但我觉得好矛盾,上面正则中的第二个正向预搜索说明了不充许有),正则的末尾还以*\)结束,我感觉好矛盾,但运行正则匹配以下字符串,却能正确的匹配最内层.str="((()))";
    str1="(((1)))";
    str2="(((Hello World))))))))";