title: Python re.findall avoiding eagerness
body: <p>I have a problem when the engine finds the first alternative in regex pattern, it stops analyzing the further string positions on the right. For instance, I have the following example:</p>
  
  <p>In the string <code>ABC SCHOOL FOUNDATION COOPERATIVE PARTNERSHIP</code> I'd like to get <code>['foundation cooperative partnership']</code> as a match. However, I am getting <code>['foundation', 'cooperative']</code> because the engine finds <code>foundation</code> and then continue with the following word <code>cooperative</code> which also matches. I am using the following code:</p>
  
  <pre><code>import re
  
  name='ABC SCHOOL FOUNDATION COOPERATIVE PARTNERSHIP'
  regex='(community contribution company|foundation cooperative partnership|cooperative|foundation)(?=\s)'
  
  found= re.findall(regex, name.lower())
  
  print(found)
  </code></pre>
  
  <p>How can I make regex to continue with the next words <code>COOPERATIVE PARTNERSHIP</code> after analyzing <code>FOUNDATION</code> instead of giving up when finding <code>foundation</code> and then <code>cooperative</code> separately? </p>
  
  <p>Thanks again</p>