20210525:Python学习——re.compile()查找数据是遇到换行

本文介绍了Python中使用re.compile()进行正则表达式编译,以匹配包含换行的数据。讨论了贪婪模式和非贪婪模式,并推荐在大数据量时使用finditer()代替findall()以节省内存。
摘要由CSDN通过智能技术生成
re.compile(r'<div class="sub">(.*?)</div>', re.S)  
# 被采集的数据中有多行,有换行符所以要加re.S或者re.DOTALL,换行读取数据,要不行只能读取一行,如果第一行是空格就不能采集到数据,或者采集不全。
正则表达式中'. '匹配的除'\n'以外所有字符,设置 DOTALL模式,让 . 匹配包括 '\n' 所有字符。

str.replace()可以进行简单的替换

a = 'one.txt, index.py, index.php, index.html, index.js'
a.replace('one.txt', 'index.css')
'index.css, index.py, index.php, index.html, index.js'

re.sub()可以使用正则替换

>>> import re
>>> a
'one.txt, index.py, index.php, index.html, index.js'
>>> re.sub(r'\.[a-z]+', '.csv', a)
'one.csv, index.csv, index.csv, index.csv, index.csv'

贪婪模式和费贪婪模式:

# 贪婪匹配会匹配到尽可能多的字符


>>> a
"i love 'my father' and 'my mother&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值