正则表达式 获取 ul中的内容!高手帮忙 谢谢啊
adfadf<ul>...</ul><ulclass='adf'><h3>...</h3><div>...</div><p>...</p><ul><li>...</li>...
adfadf
<ul>
...
</ul>
<ul class='adf'>
<h3>...</h3>
<div>...</div>
<p>...</p>
<ul>
<li>...</li>
<li>...</li>
</ul>
</ul>
adsfadf
<ul>
....
</ul>
我要获取到<ul class='adf'>的所有内容
关键点:在<ul class='adf'>中还内嵌了 ul 请高手帮忙!! 展开
<ul>
...
</ul>
<ul class='adf'>
<h3>...</h3>
<div>...</div>
<p>...</p>
<ul>
<li>...</li>
<li>...</li>
</ul>
</ul>
adsfadf
<ul>
....
</ul>
我要获取到<ul class='adf'>的所有内容
关键点:在<ul class='adf'>中还内嵌了 ul 请高手帮忙!! 展开
2个回答
展开全部
你这个需要知道最外层的<ul class='adf'> </ul>
里面有几层嵌套
思路是
<ul class='adf'> 开始,如果找到 "<" 则记录 这个“< ”后面的 "字符串+>" ,作为captured group1, 在后面一直找,直到找到 "</"+"captured gourp1",如果只是1层嵌套,那么这种内嵌的<> </> 都循环*次后, 找到一个</ul>,则退出匹配,得到中间的结果了。
否则按照1楼的思路,你区分不清是哪一层的 </ul>,就混乱了。
如果是多层嵌套,则内层 <> </>的里面还要应用这种规则跑一遍
里面有几层嵌套
思路是
<ul class='adf'> 开始,如果找到 "<" 则记录 这个“< ”后面的 "字符串+>" ,作为captured group1, 在后面一直找,直到找到 "</"+"captured gourp1",如果只是1层嵌套,那么这种内嵌的<> </> 都循环*次后, 找到一个</ul>,则退出匹配,得到中间的结果了。
否则按照1楼的思路,你区分不清是哪一层的 </ul>,就混乱了。
如果是多层嵌套,则内层 <> </>的里面还要应用这种规则跑一遍
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询