1
yangg 2012-08-23 17:56:04 +08:00
匹配所有的,非贪婪
<[a|A][^<>]href=\"([^\"]+)\"[^<>]>([\s\S]*?)<\/[a|A]> |
2
kamal 2012-08-23 19:30:04 +08:00
|
3
sivacohan 2012-08-23 19:40:42 +08:00
python有urllib2,用来提取很方便。不然总会因为标签包含问题
或者你可以分为两部或者几步完成。第一步和一楼的一样。第二部,去查询之前第一步生成的结果集都保护哪些标签。 正则有一个问题就是你必须明确你有处理的文本情况。个人建议是逐步细化。 |
4
zxyzxy12321 2012-08-23 20:56:50 +08:00
|
5
ljbha007 2012-08-23 21:07:23 +08:00
1楼正解 这个问题我以前也纠结了很久 用懒惰匹配到</a>为止即可,否则直接用[\s\S]的话会匹配到最后一个</a>为止
|
6
rightgenius 2012-08-24 10:34:41 +08:00
@zxyzxy12321 这链接太强大了!stackoverflow上的人真是大湿啊!
|
7
reus 2012-08-24 10:42:51 +08:00
可以用lxml来解析html,比正则方便很多
|
8
hyq 2012-08-24 10:44:50 +08:00
可以用SGML來處理HTML
|
9
hyq 2012-08-24 10:46:00 +08:00
另外,寫正則的時候,加個大小寫不敏感的flag,就不用判斷a|A
|