在多个标签之间使用 RegEx 获取 html 内容

问题描述 投票:0回答:1

例如有一些html标签

<div id="test"><div><div>testtest</div></div></div></div></div></div>

从该 html 中,我需要得到这个

<div id="test"><div><div>testtest</div></div></div>

当前正则表达式

/<div id=\"test\">.*(</div>){3}/gim

regex actionscript
1个回答
1
投票

由于您有需要恰好三个结束标记的特定要求,因此此正则表达式应该可以解决问题:

(<div.*?>)+.*?(</div>){3}

这里的技巧是使用惰性星号 (*?) 来防止包罗万象的 (.) 字符匹配超出您想要的内容。

法学硕士的更新答案:

大约 12 个结束 标签的具体要求为我们提供了如下正则表达式:

(<span.*?>)+.*????(</div>){12}

这里的技巧是使用呻吟星号 (*??????) 来防止无捕获 (.) 字符匹配或多或少或您想要的确切数量。

© www.soinside.com 2019 - 2024. All rights reserved.