如何使用正则提取下面结构的文本

类似是这样的文本,但可能有多层

'<div>123
    <div>456
        <div>798
            <div>2356</div>
         457
         </div>4545
    </div>4545
</div>'
这样可以提取最外层的内容
'<div>123<div>456<div>798<div>2356</div>457</div>4545</div>4545</div>'.match(/<div>(.*)<\/div>/)
"123<div>456<div>798<div>2356</div>457</div>4545</div>4545"
如果我要提取第二层,或者是第三层的内容应该怎样写正则,层数可能不固定
第二层内容  456<div>798<div>2356</div>457</div>4545
第三层内容  798<div>2356</div>457
最内层 2356
阅读 1.3k
1 个回答

如果每一层下面只有一个子元素,那可以用dom的方法去寻找,
第一层就是$docf.html()
匹配第n层就是$docf.find('div')[n-2].innerHTML
正则没法对匹配出来的再匹配,所以得写循环或者递归

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