title: Regex.Replace ignoring non-capturing group
body: <p>I have the following code:</p>
  
  <pre><code>var pattern = @"(?:red).*(\d+)";
  var regX = new Regex(pattern);
  var input = "this is red with number 111";
  var replaced = regX.Replace(input, "666");
  </code></pre>
  
  <p>The <code>replaced</code> is then: <code>this is 666</code> instead of: <code>this is red with number 666</code></p>
  
  <p>Why is this happening?</p>