正则表达式贪婪模式和非贪婪模式

因为之前在学正则表达式的时候没有特别重视,导致在后面学习写爬虫的时候,因为一个简单的错误而整的满脸懵,报错信息如下:

后来按照报错的提示看了下,说是re.compile生成的pattern有问题,然后就在pattern的匹配内容里面一直找错,最后也终于是发现了错误:

。。。。。

之后就又去认真的百度了一下非贪婪模式这个东西

 

学习:

Python中正则表达式的数量词(\d,' * '等)默认是贪婪的,在匹配成功的前提下,它总是尝试匹配尽可能多的字符,非贪婪模式正好相反,它总是尝试匹配尽可能少的字符

 

例如,正则表达式“ab*",如果用于查找’abbbc',就会找到‘abbb’。如果使用非贪婪数量词‘ab*?’,就会找到"a"

 

若要使用非贪婪模式的话,只需要在量词后面直接加上一个问号”?”即可

 

转载于:https://www.cnblogs.com/zwc--blog/p/10969151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值