[问题] 求救解析HTML

楼主: areyo (没有名字的怪物)   2012-08-17 20:40:09
大家晚安
小弟使用的是python 2.6的正规
现在在练习解析一个网页中某段资料如下
<h2>Department</h2>
<ul id="ref_3224438011">
<li style="margin-left: -18px"><a href="http://www.amazon.com/s?ie=UTF8&page=1&rh=n%3A172282">&#8249;&nbsp;<span class="expand">Electronics</span></a></li>
<li style="margin-left: -10px"><a href="http://www.amazon.com/s?ie=UTF8&page=1&rh=n%3A281407">&#8249;&nbsp;<span class="expand">Accessories &amp; Supplies</span></a></li>
<li style="margin-left: -2px"><a href="http://www.amazon.com/s?ie=UTF8&page=1&rh=n%3A172532">&#8249;&nbsp;<span class="expand">Audio &amp; Video Accessories</span></a></li>
<li style="margin-left: 24px"><strong>3D Glasses</strong></li>
</ul>
我想从一个完整的html中抓出这一段
我试着用线上正规检查去试,只有土法炼钢出这段REG
<h2>.+\n.+\n.+\n.+\n.+\n.+\n<\/ul>
发现中间都是用.+\n不断重复,但是却不知道有几层,有人可指点迷津吗?
感恩
作者: blackkaku (black)   2012-08-17 20:58:00
<h2>(.+\n)+?<\/ul>
楼主: areyo (没有名字的怪物)   2012-08-17 21:06:00
谢谢,可以简单跟我解释吗?
作者: blackkaku (black)   2012-08-17 21:47:00
(.+\n)就是你说的重复的部分。后面的+代表重复1次以上,最后的?代表最短一致(我只知道日文叫做“最短一致”,不知道中文叫做什么。英文好像是not greedy)
楼主: areyo (没有名字的怪物)   2012-08-17 21:49:00
感嗯
作者: s25g5d4 (function(){})()   2012-08-18 12:58:00
中文就叫非贪婪吧...

Links booklink

Contact Us: admin [ a t ] ucptt.com