06Python爬虫---正则表达式03之模式修正_贪婪模式与懒惰模式

一、修正模式
符号含义
I匹配时忽略大小写
M多行匹配
L做本地化识别匹配
U根据Unicode字符及解析字符
S让.匹配包括换行符,即用了该模式修正后,”.”匹配就可以匹配任意的字符了

所谓模式修正,即可以在不改变正则表达式的情况下,通过模式修正符改变正则表达式的含义,从而实现一些匹配结果的调整等功能。
比如,可以使用模式修正符I让对于模式在匹配时不区分大小写

import re
pattern1 = "python"
pattern2 = "python"
string = "abcdfphp345Pythony_py"
result1 = re.search(pattern1, string)
result2 = re.search(pattern2, string, re.I)
print("结果1:%s" % result1)  # 结果1:None
print("结果2:%s" % result2)  # 结果2:<_sre.SRE_Match object; span=(11, 17), match='Python'>
二、 贪婪模式与懒惰模式

贪婪模式的核心点尽可能多地匹配 懒惰模式尽可能少的匹配

import re
pattern1 = "p.*y"  # 贪婪模式
pattern2 = "p.*?y"  # 懒惰模式
string = "abcdfphp345pythony_py"
result1 = re.search(pattern1, string)
result2 = re.search(pattern2, string, re.I)
print("贪婪模式结果:%s" % result1)  # 贪婪模式结果:<_sre.SRE_Match object; span=(5, 21), match='php345pythony_py'>
print("懒惰模式结果:%s" % result2)  # 懒惰模式结果:<_sre.SRE_Match object; span=(5, 13), match='php345py'>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值