这是我的字符串。其中包含XML字符串
如下所示
var str= "<str>rvrv</str>rvrv<q1>vrvv</q1>vrvrv<q2>rtvrvr</q2>";
如何使用正则表达式删除标签外部的文本(不属于任何标签的文本)。请帮帮我。
答案 0 :(得分:3)
假设您的问题只是删除未包含在元素中的文本(并且剩余代码格式正确,因此您没有像
这样的字符串var str= "<str>lorem <b>ipsum</str>";
)你可以使用像这样的正则表达式
var str= "<str>rvrv</str>rvrv<q1>vrvv</q1>vrvrv<q2>rtvrvr</q2>",
elements = str.match(/<(.+?)>[^<]+<\/\1>/gi);
console.log(elements.join(''));
然后返回
<str>rvrv</str><q1>vrvv</q1><q2>rtvrvr</q2>
注意:为了检测结束标记,我使用了反向引用 (见http://www.regular-expressions.info/brackets.html)