title: regex matching multiple repeating groups
body: <p>I have the following string:</p>
  
  <pre><code>s = " 3434 garbage workorders: 138 waiting, 2 running, 3 failed, 134 completed"
  </code></pre>
  
  <p>I would like to parse the statuses and counts after "workorders". I've tried the following regex:</p>
  
  <pre><code>r = r"workorders:( (\d+) (\w+),?)*"
  </code></pre>
  
  <p>but this only returns the last group. How can I return all groups?</p>
  
  <p>p.s. I know I could do this in python, but was wondering if there's a pure regex solution</p>
  
  <pre><code>&gt;&gt;&gt; s = " 3434 garbage workorders: 138 waiting, 2 running, 3 failed, 134 completed"
  &gt;&gt;&gt; r = r"workorders:( (\d+) (\w+),?)*"
  &gt;&gt;&gt; re.findall(r, s)
  [(' 134 completed', '134', 'completed')]
  &gt;&gt;&gt; 
  </code></pre>
  
  <p>output should be close to</p>
  
  <pre><code>[('138', 'waiting'), ('2', 'running'), ('3', 'failed'), ('134', 'completed')]
  </code></pre>