Python网络爬虫-正则表达式

本文介绍了正则表达式的概念,通过实例解释了如何使用正则表达式来定义和识别符合特定规则的字符串,如电话号码和邮箱地址。在Python中,正则表达式用于数据爬虫,尤其是提取网页上的邮箱地址。建议在编写正则表达式时,先明确目标字符串结构并关注细节处理。
摘要由CSDN通过智能技术生成

     之所以称之为正则表达式,是因为它们可以识别正则字符串(regular string),也就是说,它们可以这样定义:”如果你给我的字符串符合规则,我就返回它”,或者是“如果字符串不符合规则,我就忽略它”。这要求快速浏览大文档,以查找像电话号码和邮箱之类的字符串是非常方便的。

     注意这里我用了一个词组正则字符串,什么是正则字符串?其实就是任意可以用一系列线性规则构成的字符串,就像:

(1)字母“a”至少出现一次;

(2)后面跟着字母“b”重复5次

(3)后面再跟着字母“c”重复任意偶数次

(4)最后一位是字母“d”,也可以没有

     满足上述规则的字符串有“aaaaabbbbbccccd”,"aabbbbbcc"等(有无穷多的变化)

正则表达式就是这组规则的缩写。这组规则的正则表达式如下:

aa*bbbbb(cc)*(d | )

  第一次见到这个字符串时会感觉难以理解,但是当我们将其分解之后就会很清楚了:

 aa*

    a后面跟着的a*(读作a星)表示“重复任意次a,包括0次”。这样就可以保证字母a至少出现一次。

bbbbb

     这没有什么特别的,就是5次b

(cc)*

     任意偶数个字符都可以编组,这个规则使用括号两个c,然后后面跟一个星号,表示有任意次两个c(也可以是0次)

(d | )

      增加一个竖线&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值