javascript - 正则表达式删除字符串中标记之外的文本

标签 javascript regex

这是我的字符串。其中将包含 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/

相关文章:

javascript - 按下退格键时,删除键或 li

javascript - 如何使用包含下划线的变量访问对象属性

c# - 正则表达式——匹配捕获以外的任何内容

php - 解析文本文档的最佳方式

javascript - 当方向为顶部时,如何在 d3 js 中定义 ticksize 参数?

javascript - 构建父路径数组

javascript - Backbone JS : where to declare the function inside a view?

java - 正则表达式匹配版本号零次或多次

javascript - 格式不固定时的正则表达式

java - 替换字符串中给出的最后一个字符