这是我的字符串。其中将包含 XML 字符串
就像下面这样
var str= "<str>rvrv</str>rvrv<q1>vrvv</q1>vrvrv<q2>rtvrvr</q2>";
如何使用正则表达式删除标签外部的文本(不属于任何标签的文本。)。请帮我解决这个问题。
最佳答案
假设您的问题只是删除未包含在元素内的文本(并且其余代码格式良好,因此您没有像这样的字符串
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)
关于javascript - 正则表达式删除字符串中标记之外的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8699227/