python 正则表达式

Python支持的正则表达式的常用符号
在这里插入图片描述

说明:
(1) “.”字符为匹配配仟意单个字符。例如,a.b可以的匹配结果为abc,aic、a&c等,但不包括换行符。
2) “\”字符为转义字符,可以把字符改变为原来的意思,听上去不是很好理解。
例如:’.‘字符是匹配任意的单个字符,但有时不需要这个功能,只想让它代表一个点,这时可以使用’.‘就能匹配为’ . ’ 了。
3 […]字符集,相当于在中括号中任选一个。例如a[bcd],匹配的结果为ab、ac、ad。

**预定义字符集 **
在这里插入图片描述
正则表达式的预定义字符集易于理解,在爬虫实战中,常常会匹配数字而过滤掉文字部分的信息。例如’字数 3450’,只需要数字信息,可以通过’\d+’ 来匹配数据,’+'为数量词,匹配前一个字符1或无限次,这样就可以匹配到所有的数字。

数量词
在这里插入图片描述
说明:
(1)" * " 数量词匹配前一个字符0或无限次。例如ab*c匹配ac、abc、abbc、abbbc等。
(2)‘+’ 与‘ * ’类似,只是匹配前一个字符一次。例如,ab+c匹配abc、abbc和abbbc等
(3)‘?’数量词匹配前一个字符0或1次。例如,ab?c 匹配 ac和abc。
(4)‘m’数量词匹配前一个字符m次。例如,ab{3}c 匹配abbbc。
(5)‘{m,n}’数量词匹配前一个字符m至n次。例如,ab{1,3}c匹配 abc、abbc和abbbc。

边界匹配
在这里插入图片描述
说明:
(1) ‘ ^ ’ 匹配字符串的开头。例如,^abc匹配abc开头的字符串。
(2)’ $ ’ 匹配字符串的结尾。例如,abc$匹配abc结尾的字符串。
(3)’ \A ‘匹配字符串的结尾。例如,\Aabc。
(4)’ \Z ’ 匹配字符串的结尾。例如,abc\Z。
边界匹配在爬虫实战中的使用较少,因为爬虫提取的大部分为标签中的数据,例如186好笑提取数字数字信息,边界匹配在这里没有任何作用。
最后介绍爬虫实战中最常用的(.?),"()"表示括号的内容作为返回的结果。“ .? ”是非贪心算法,匹配任意字符。例如,字符串‘xxlxxjshdxxlovexxsffaxxpythonxx’,可以通过’xx(.*? )xx’匹配符合这种规则的字符串,代码如下:

import re
a = 'xxlxxjshdxxlovexxsffaxxpythonxx'
info = re.findall('xx(.*?)xx',a)
print(info)

运行结果如下:
[‘l’, ‘love’, ‘python’]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值