Javascript正则表达式:获取HTML标签

Javascript Regex: Get HTML Tags

本文关键字:HTML 标签 获取 正则表达式 Javascript      更新时间:2023-09-26

我做了这个regex:

/'<+[a-zA-Z0-9'='"'s]+'>+.+'<'/+[a-zA-Z0-9]+'>/gi

匹配完整的HTML标签,如:

<p>this is a paragraph</p>

但是问题是它将所有元素匹配为一个match

<div><p>this is a paragraph</p></div>

但是我想把所有的HTML元素分开。

注意:HTML标签是在字符串中,而不是在DOM中。

在正则表达式解决方案之前,我试图创建一个新的div元素,我添加了字符串,因为它的innerHTML。但是不能正常工作,我真的不知道为什么…

所以我正在寻找一个解决这个匹配问题的REGEX解决方案。

谢谢

+[^<]+替换内部的+.+会阻止它匹配整个字符串,但是正则表达式不是处理包含嵌套组件的字符串的正确选择。为此,您应该使用解析器。

正则表达式不适合处理html。正如你提到的HTML不是DOM的一部分

注意:HTML标签是一个字符串

你可以使用JQuery从HTML中构建一个对象,并使用DOM选择器/遍历来处理它:

$(myHTMLString).find('p')...