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

前端之家收集整理的这篇文章主要介绍了正则表达式 在爬虫中的应用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

例一

<!\-\-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(第四到第五个字符)

猜你在找的正则表达式相关文章