正则表达式html标签中嵌套匹配如何写

有一段内容是这样的

<section>dfdfdfdfdfdfdfdfdfdfdfdf</section><section>dfdfddfdfdfdf<section>ddfddfdfddfdfdf</section></section>

使用<section>.*?</section> 匹配的时候会把最后一个丢掉。想问下如何写这段正则表式。
最后想要匹配的结果为

<section>dfdfdfdfdfdfdfdfdfdfdfdf</section>
<section>dfdfddfdfdfdf<section>ddfddfdfddfdfdf</section></section>

两个匹配

阅读 6.9k
2 个回答
<section>(<section>.*?<\/section>|.)*?<\/section>

这样?

"<section>dfdfdfdfdfdfdfdfdfdfdfdf</section><section>dfdfddfdfdfdf<section>ddfddfdfddfdfdf</section></section>".match(/<section>.*?(<\/section>)+/g)

这样就可以匹配到的,如果不清楚到底嵌套几层,我想单单用正则是做不到的吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题