title: Different behavior between re.finditer and re.findall
body: <p>I am using the following code:</p>
  
  <pre><code>CARRIS_REGEX=r'&lt;th&gt;(\d+)&lt;/th&gt;&lt;th&gt;([\s\w\.\-]+)&lt;/th&gt;&lt;th&gt;(\d+:\d+)&lt;/th&gt;&lt;th&gt;(\d+m)&lt;/th&gt;'
  pattern = re.compile(CARRIS_REGEX, re.UNICODE)
  matches = pattern.finditer(mailbody)
  findall = pattern.findall(mailbody)
  </code></pre>
  
  <p>But finditer and findall are finding different things. Findall indeed finds all the matches in the given string. But finditer only finds the first one, returning an iterator with only one element.</p>
  
  <p>How can I make finditer and findall behave the same way?</p>
  
  <p>Thanks</p>