在数量词后面加上英文的问号 (?),正则就变成了 \d*? 就是非贪婪模式:可以看到非贪婪模式下,原本的4项匹配成功变成了9项: >>> import re >>> re.findall('\d*', '123ab')['123', '', '', ''] >>> re.findall('\d*?', '123ab') ['', '1', '', '2', '', '3', '', '', ''] 非贪婪模式下匹配到的结果都是单个的数字,就连每个数字左边的空字符串也匹配上了。