【爬虫】三、正则表达式-re入门

一、概念

形式语言,描述语言的特征而不是具体的内容,常用于字符串的匹配。

二、语法和基本操作符

re库也可以采用string类型表示正则表达式,但更繁琐例如:
‘[1‐9]\\d{5}’ 相当于原生字符串的 ‘[1‐9]\d{5}’
‘\\d{3}‐\\d{8}|\\d{4}‐\\d{7}’ 相当于原生字符串的 ‘\d{3}‐\d{8}|\d{4}‐\d{7}’
建议:当正则表达式包含转义符时,使用raw string,否则两者是一样的。
在这里插入图片描述
在这里插入图片描述
常用正则表达式:

re表达式 内涵
^[A‐Za‐z]+$ 以字母作为开头和结尾,长度>=1由,即26个字母组成的字符串
^[A‐Za‐z0‐9]+$ 由26个字母和数字组成的字符串
^[0‐9][1‐9][0‐9]$ 正整数形式的字符串
[\u4e00‐\u9fa5] 匹配中文字符
\d{3}‐\d{8}|\d{4}‐\d{7} 国内电话号码,010‐68913536

IP地址字符串形式的正则表达式(IP地址分4段,每段0‐255)
\d+.\d+.\d+.\d+ 或\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}
精确写法:

0‐99: [1‐9]?\d
100‐199: 1\d{2}
200‐249: 2[0‐4]\d
250‐255: 25[0‐5]

(([1‐9]?\d|1\d{2}|2[0‐4]\d|25[0‐5]).){3}([1‐9]?\d|1\d{2}|2[0‐4]\d|25[0‐5])

其他例子:

re.findall(r'[af].', 'abcaabbccfg')  # 第一位为a或者f,第二位为任意字符
输出结果:
['ab', 'aa', 'fg']

re.findall(r'[af]+', 'abcafafaabbccfg')  # 每个位置都必须是是a或者f,且长度至少为1(贪婪匹配)
输出结果:
['a', 'afafaa', 'f']

re.findall(r'[af]+', 'abcafafaabbccfg')  # 每个位置都必须是是a或者f,且长度至少为1(贪婪匹配)
输出结果:
['a', 'afafaa', 'f']

//在开始位置匹配,开始不符合就返回nonetype,符合就返回不会再考虑后续位置的str
re.findall("^[a-z]{4}",'abcd0abcd2abb3abbbb') 
re.findall("^[a-z]{4}",'3abcd0abcd2abb3abbbb')
输出:
['abcd']
[]

//在结
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值