var val = 1;
a[val]b(val) ;只对val赋值不就可以了吗?

解决方案 »

  1.   

    var str="a[1]b(1)";
    alert(str)
    str=str.replace(/(\[|\()\d+([\]|\)])/g,"$1"+"9"+"$2")
    alert(str)
      

  2.   

    你这个倒好说,只换数字行吧
    'a[1]b(1)'.replace(/\d/g,'9');
      

  3.   


    <script>
    var   a='a[1]b(1)'
    //alert(a.replace(/((\[([^\]]*?)\])|(\(([^\)]*?)\)))/g,"9"))
    var str="a[1]b(1)[1)";
    alert(str)
    str=str.replace(/(\[|\()\d+([\]|\)])/g,"$1"+"9"+"$2")
    alert(str)
    //alert("<div>"+a+"</div>")
    </script>3楼有问题,还是替换2次简单
      

  4.   

    (?:(\[)\d+(\])|([(])\d+([)]))$1$3newKey$2$4
      

  5.   

    正确答案:见7楼。还想请问muxrwc,
    /(\[)\d+(\])|(\()\d+(\))/g
    "$1$3" + 9 + "$2$4"
    的话不行吗?
      

  6.   

    mingxuan3000:
    试了,可以。但是不知道测试的全不全面。muxrwc的回答中
    (?:(\[)\d+(\])|([(])\d+([)]))
                    ~~~     ~~~
                     ↓       ↓
    和                 \(      \) 是一个意思吧。