正则表达式六---贪婪模式

  • Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;

非贪婪则相反,总是尝试匹配尽可能少的字符。

在"*" , "?" , "+" , "{m,n}"后面加上?,使贪婪变成非贪婪。

*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
re.match(r"aa(\d+)","aa2343ddd").group(1)
'2343'
re.match(r"aa(\d+?)","aa2343ddd").group(1)
'2'

re.match(r"aa(\d*?)","aa2343ddd").group(1)
'2343'
re.match(r"aa(\d??)","aa2343ddd").group(1)
'2'

你可能感兴趣的:(正则表达式六---贪婪模式)