爬虫-re实战

我是张晨,一转眼,我在新课已经学习了很长一段时间。回顾这几个月的时间,我收获了很多知识。这里是我的一点学习笔记。

一、re.I

语法: re.IGNORECASE 或简写为 re.I

含义: 进行忽略大小写匹配。

re.findall(r'TM','tm')
[]
re.findall(r'TM','tm',re.I)
['tm']

在默认匹配模式下小写字母tm无法匹配大写字母TM的,而在忽略大小写模式下就可以匹配了。

二、re.A

语法: re.ASCII 或简写为 re.A

作用: 顾名思义,ASCII表示ASCII码的意思,让 \w, \W, \b, \B, \d, \D, \s 和 \S 只匹配ASCII,而不是Unicode。

re.findall(r'\w+','tm真帅')
['tm真帅']#w匹配所有字符

re.findall(r'\w+','tm真帅', re.A)#w匹配字母和数字
['tm']

在默认匹配模式下’\w+'匹配到了所有字符串,而在ASCII模式下,只匹配到了a、b、c(也就是指匹配ASCII编码支持的字符)。注意:这只对字符串匹配模式有效,对字节匹配模式无效。

三、re.S

语法: re.DOTALL 或简写为 re.S

作用: DOT表示.,ALL表示所有,连起来就是.匹配所有,包括换行符\n。默认模式下.是不能匹配行符\n的。

print('小伍哥\n真帅')#文本中间包含换行符,打印的时候会换行
小伍哥
真帅
re.findall(r'.*','哥\n真帅')
['哥', '', '真帅', '']
re.findall(r'.*','哥\n真帅',re.S )
['哥\n真帅', '']

在默认匹配模式下.并没有匹配换行符\n,而是将字符串分开匹配

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值