源字符: xyx 或者写成 。 x 。 y 。 x 。(用。表示位置) 表达式: x? Match 1 Full match 0-1 `x` Match 2 Full match 1-1 `` Match 3 Full match 2-3 `x` Match 4 Full match 3-3 `` =。=。=。=。=。= >>> re.findall(r'x?','xyx') #正则匹配模式含有空集合 ['x', '', 'x', ''] >>> re.findall(r'x??','xyx') ['', '', '', ''] 通过实践可知,如果正则匹配模式含有空集合的话,匹配的时候,字符与位置是同时参与的,之前理解的是根据先后关系先字符前面的位置然后是字符。两者同时参与正则模式匹配,根据贪婪模式或者非贪婪模式选其一(匹配字符或者位置)。