Python里数量词(*+?)默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪的数量词"ab*?",将找到"a"。
import re
print(re.match(r"^(\d+)(0*)$","8848000").groups()) #('8848000', '') 正则默认贪婪
print(re.match(r"^(\d+?)(0*)$","8848000").groups()) #('8848', '000') 非贪婪