title: Multiple regex capture groups using quantifiers
body: <p>Is there a way to get multiple capture groups out of a regex that is using quantifiers?  For example, say I have this data (simplified from what I have to deal with):</p>
  
  <pre><code>&lt;td&gt;Data 1&lt;/td&gt;
  &lt;td&gt;data 2&lt;/td&gt;
  &lt;td&gt;data 3&lt;/td&gt;
  &lt;td&gt;data 4&lt;/td&gt;
  </code></pre>
  
  <p>Right now, if I write a regex like this:</p>
  
  <pre><code>(?:&lt;td&gt;(.+?)&lt;\/td&gt;\s*){4}
  </code></pre>
  
  <p>I end up with only one capture group, the last one <strong>"data 4"</strong>.  Is there a way to use the quantifier and end up with 4 capture groups, or am I forced to write the regex like this to get what I want:</p>
  
  <pre><code>&lt;td&gt;(.+?)&lt;\/td&gt;\s*&lt;td&gt;(.+?)&lt;\/td&gt;\s*&lt;td&gt;(.+?)&lt;\/td&gt;\s*&lt;td&gt;(.+?)&lt;\/td&gt;
  </code></pre>
  
  <p>Yes, I am well aware that I can hack this simple example up much easier programmatically and then apply and necessary regexes or simpler pattern matches.  The data I am working with is far more complex and I would really like to use a regex to handle all of the parsing.</p>