正则匹配嵌套HTML

一,匹配单一的嵌套标签

<div>我是一层</div>
<div>
   <div class="test">
  我是二层div
   <div class="test">我是三层div</div>
   </div>
</div>

在Regex Tester中测试结果:

<div[^>]*>[^<]*(((?‘Open‘<div[^>]*>)[^<]*)+((?‘-Open‘</div>)[^<]*)+)*(?(open)(?!))</div>

二,修改的嵌套div正则,可包含其它标签

<div>我是一层</div>
<div>
   <div class="test">
  我是二层div
   <div class="test">我是三层div</div>
  <span>我是span呀</span><ul>我是ul呀</ul>
   </div>
</div>

在Regex Tester中测试结果:

<div[^>]*>[\s\S]*?(((?‘open‘<div[^>]*>)[\s\S]*?)+((?‘-open‘</div>)[\s\S]*?)+)*(?(open)(?!))</div>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。