我现在有一个字符串,,想在匹配的后面加上字符串。
  <script language="javascript">
    function testReg(){
      var str = "<node id='0' name='根节点'><node id='0001' name='根节点1'></0001node></0node>";
      var reg = "/<node id='0'\s*>(.*)<\/0node>/gi";
      var ttobj = document.getElementById("tt");
      str = str.replace(reg, "$1<node id='0002' name='根节点2'></0002node>");
      ttobj.value = str;
    }
  </script>
  
   我想把<node id='0002' name='根节点2'></0002node>"这一串字符串加在<node id='0001' name='根节点1'></0001node>后面。。
如何写,,我上面的有什么问题?

解决方案 »

  1.   

    L@_@Kfunction testReg(){
    var str = " <node id='0' name='根节点'> <node id='0001' name='根节点1'> </0001node> </0node>";
    var node2 = " <node id='0002' name='根节点2'> </0002node>";
    var reg = /( <node[^>]*>)(.*)(<\/0node>)/gi;
    str = str.replace(reg, "$1$2"+node2+"$3");
    alert(str);
    var ttobj = document.getElementById("tt");
    ttobj.value = str;
    }
    testReg();
      

  2.   

    楼上的老大,<node前必须有空格吗?
      

  3.   


     function testReg(){ 
          var str = " <node id='0' name='根节点'> <node id='0001' name='根节点1'> </0001node> </0node>"; 
          var reg = "/<node id='0'.*?>(.*?) <\/0node>/g"; 
          var ttobj = document.getElementById("tt"); 
          str = str.replace(reg, "$1<node id='0002' name='根节点2'> </0002node>"); 
      //alert(str);
          ttobj.value = str; 
        } 
    testReg();
      

  4.   

        function testReg(){ 
          var str = " <node id='0' name='根节点'> <node id='0001' name='根节点1'> </0001node> </0node>"; 
          var reg = / <node id='0' name='根节点'> (.*)<\/0node>/gi;
          str = str.replace(reg, "$2 <node id='0002' name='根节点2'> </0002node>"); 
          //alert(reg.test(str)); 
          alert(str); 
        } 
    testReg();不知道你想表达的是这个意思么?
    1.你的语句不匹配。漏了name='根节点'
    2.正则应该是用/做为区分的。你在//两旁还多加了"
      

  5.   

    晕,那些空格不是 lz 自己输出的么?!没有空格的话,删了就行了!L@_@K
    function testReg(){
        var str = "<node id='0' name='根节点'><node id='0001' name='根节点1'></0001node></0node>";
        var node2 = "<node id='0002' name='根节点2'></0002node>";
        var reg = /(<node[^>]*>)(.*)(<\/0node>)/gi;
        str = str.replace(reg, "$1$2"+node2+"$3");
        alert(str);
        var ttobj = document.getElementById("tt");
        ttobj.value = str;
    }
    testReg();