0
这是我的字符串。这将使用正则表达式包含XML字符串
像下面正则表达式删除字符串中标记之外的文本
var str= "<str>rvrv</str>rvrv<q1>vrvv</q1>vrvrv<q2>rtvrvr</q2>";
如何删除文本之外的标签(即不属于任何标记文本。)。请帮助我。
这是我的字符串。这将使用正则表达式包含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)
正则表达式是一种常规语言,因此不建议您为此使用正则表达式。 – AlanFoster 2012-01-02 09:33:30
@AlanFoster那么我该如何实现这个...... – Exception 2012-01-02 09:37:16
@Douglas感谢您的链接。这真的很有帮助 – Exception 2012-01-02 10:35:24