求一正则表达式,在字符串匹配后面加上一段字符串

tcmis 2010-01-19 08:58:55
我现在有一个字符串,,想在匹配的后面加上字符串。
<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>后面。。
如何写,,我上面的有什么问题?
...全文
723 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmis 2010-01-19
  • 打赏
  • 举报
回复
不好意思, 我看错了。
yixianggao 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tcmis 的回复:]
楼上的老大, <node前必须有空格吗?
[/Quote]
晕,那些空格不是 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();
jiewenxu 2010-01-19
  • 打赏
  • 举报
回复
    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.正则应该是用/做为区分的。你在//两旁还多加了"
yan11cn 2010-01-19
  • 打赏
  • 举报
回复

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();
tcmis 2010-01-19
  • 打赏
  • 举报
回复
楼上的老大,<node前必须有空格吗?
yixianggao 2010-01-19
  • 打赏
  • 举报
回复
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();

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧