作者areyo (沒有名字的怪物)
看板RegExp
標題[問題] 求救解析HTML
時間Fri Aug 17 20:40:09 2012
大家晚安
小弟使用的是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">‹ <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">‹ <span class="expand">Accessories & Supplies</span></a></li>
<li style="margin-left: -2px"><a href="
http://www.amazon.com/s?ie=UTF8&page=1&rh=n%3A172532">‹ <span class="expand">Audio & 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不斷重覆,但是卻不知道有幾層,有人可指點迷津嗎?
感恩
--
懶惰與懦弱使愚笨成自然
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.188.253
推 blackkaku:<h2>(.+\n)+?<\/ul> 08/17 20:58
→ areyo:謝謝,可以簡單跟我解釋嗎? 08/17 21:06
→ blackkaku:(.+\n)就是你說的重複的部分。後面的+代表重複1次以上, 08/17 21:47
→ blackkaku:最後的?代表最短一致(我只知道日文叫做「最短一致」, 08/17 21:48
→ blackkaku:不知道中文叫做什麼。英文好像是not greedy) 08/17 21:49
→ areyo:感嗯 08/17 21:49
推 s25g5d4:中文就叫非貪婪吧... 08/18 12:58