我有一个生成的 HTML 字符串,其中可能包含重叠的标签,并试图找到它们以使 HTML 有效。字符串采用以下格式(例如:重叠标签,然后是嵌套标签):
<tag_1> xx <tag_2> xx </tag_1> xx </tag_2> xx <tag_1> xx <tag_3> xx </tag_3> </tag_1>
我只想提取<tag_1> xx <tag_2> xx </tag_1>
并不是
<tag_1> xx <tag_3> xx </tag_3> </tag_1>
-
目前,我的正则表达式匹配这两种情况。
我假设我需要一个非贪婪地将反向引用(\1)匹配到标签名称的正则表达式......这就是我所拥有的,我无法弄清楚最后一部分。这在javascript中可能吗?
/<tag_([A-Z0-9]*)\b[^>]*>.*?<tag.*?<\/tag_\1>/gi;
谢谢