正则表达式 在爬虫中的应用
例一 <!--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>)|(<divs*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(第四到第五个字符)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |