Comportement différent entre re.finditer et re.findall

Je suis en utilisant le code suivant:

CARRIS_REGEX=r'<th>(\d+)</th><th>([\s\w\.\-]+)</th><th>(\d+:\d+)</th><th>(\d+m)</th>'
pattern = re.compile(CARRIS_REGEX, re.UNICODE)
matches = pattern.finditer(mailbody)
findall = pattern.findall(mailbody)

Mais finditer et findall sont de trouver des choses différentes. Findall trouve en effet tous les matchs dans la chaîne donnée. Mais finditer ne trouve que le premier, de retour d'un itérateur, avec un seul élément.

Comment puis-je faire finditer et findall se comportent de la même façon?

Grâce

source d'informationauteur simao