Python爬虫学习:正则表达式-替换模式sub

1. 替换模式sub

s ='< I love programming !> < you love python ! >'
re.sub(r'< (I.*?)>','Marry love python',s)
# 返回结果: 'Marry love python < you love python ! >'

发现此时< I love programming !>整个都被替换了,而我们的本意是只替换
“I love programming !”此时可以借助前向否定断言和后向否定断言。

(?<=)(?=)
前向肯定断言。例如:(?<=love)python只匹配前边紧跟着“”的“love”的python后向肯定断言,与前向一样,只是方向相反
re.sub(r'(?<=< )(I.*?)(?=>)','Marry love python',s)
# 返回结果:'< Marry love python> < you love python ! >'
#(?<=< )前向肯定断言限定,不改变‘<’,只是将其作为限定条件。
#(?=>)后向肯定断言,不改变‘>’,只是将其作为限定条件
#(I.*?)替换对象

2. 爬取网页换行符的处理

  1. 由于(.)表示匹配除了换行字符外的所有字符,因此对于爬取网页中换行符的需要以下处理。
#使用sub,将c字符串中所有的换行符替换成空格,再使用正则表达式
s = re.sub(r'\n',' ',c)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南淮北安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值