title: Regex optional non-capturing groups
body: <p>i am a total Regex Noob and spent hours trying to solve this puzzle.
  I think I have to use some kind of optional non-capturing groups or alternation.</p>
  
  <p>I want to match the following strings:</p>
  
  <blockquote>
    <ol>
    <li><p>Neuer Film a von 1000</p></li>
    <li><p>Neuer Film a von 1000 mit b</p></li>
    <li><p>Neuer Film a von 1000 mit b und c</p></li>
    <li><p>Neuer Film a von 1000 mit b und c und d</p></li>
    <li><p>Neuer Film a mit b</p></li>
    <li><p>Neuer Film a mit b und c</p></li>
    <li><p>Neuer Film a mit b und c und d</p></li>
    </ol>
  </blockquote>
  
  <p>My regex looks like this:</p>
  
  <pre><code>var regex = /(?:[nN]euer [Ff]ilm\s?)(.*)(?:[vV]on).(\d{4}).(?:[Mm]it)(.*)(?:[uU]nd)(.*)/g;
  </code></pre>
  
  <p>The problem is it matches only string 3 and 4. And it does not match the last two "und", but packs it in group No.3 not in group No.4.</p>
  
  <p>Can someone please help with my Regex (which is not very user friendly at all ;)</p>