正则表达式 在爬虫中的应用

例一

<!\-\-repaste\.title\.begin\-\->(.+?)<!\-\-repaste\.title\.end\-\-> 

匹配 

<h1><!--repaste.title.begin-->塞拉利昂前部长一家九口感染埃博拉病毒全部丧命<!--repaste.title.end--></h1>

里面的title

发现,各种转义加上的\,中间的 . 是匹配任意除换行外的字符, +?是重复任意次,小括号来指定子表达式(也叫做分组),

小括号的用法说明举例

(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1到3位的数字(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。


例二

(<span class="info"><em.*?><a href.*?>(.+?)</a>)|(<div\s*id="crumb"><p class="f-l" id="xiaodaohang">(.+?)</p>)

匹配

<span class="info"><em style="margin-right: 10px;"><a href="http://news.cntv.cn/world_old/" target="_blank">国际新闻</a><b>

里面的国际新闻

发现,.*?,.*?就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。 

举例:a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)ab(第四到第五个字符)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值