每日10行代码13:python3中的正则表达式1

今天坐地铁时看了下正则表达式的文章,今天就来试验下。

假如我想匹配https://blog.csdn.net/weixin_44981444/article/details/108477207 中的blog.csdn.net

import re
s = "https://blog.csdn.net/weixin_44981444/article/details/108477207"
tt=re.search(r'b.*t',s,flags=0)
print(type(tt))
print(tt.group())

输出结果:

<class '_sre.SRE_Match'>
blog.csdn.net/weixin_44981444/article/det

发现不是我想要的,原来正则表达式的*默认是尽量去匹配最长的,所以要他匹配最短的,要改一下

import re
s = "https://blog.csdn.net/weixin_44981444/article/details/108477207"
tt=re.search(r'b.*?t',s,flags=0)
print(tt.group())

输出结果:

blog.csdn.net

达到效果.原来我还不知道?加在哪里,后来参考了下别人的代码,原来是加上*后面.想一想也是这样的,因为引起贪婪匹配的地方就是.*这一点。

今天学到的知识:

  1. re.search的结果是一个match object对象,要输出查找到子串要用group()方法。
  2. *默认是贪婪匹配,加上?可以使其变成非贪婪匹配。

参考文章:https://www.cnblogs.com/tina-python/p/5508402.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值