例如有一些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
由于您有需要恰好三个结束标记的特定要求,因此此正则表达式应该可以解决问题:
(<div.*?>)+.*?(</div>){3}
这里的技巧是使用惰性星号 (*?) 来防止包罗万象的 (.) 字符匹配超出您想要的内容。
大约 12 个结束 标签的具体要求为我们提供了如下正则表达式:
(<span.*?>)+.*????(</div>){12}
这里的技巧是使用呻吟星号 (*??????) 来防止无捕获 (.) 字符匹配或多或少或您想要的确切数量。