title: Cannot get `Regex::replace()` to replace a numbered capture group
body: <p>I'm porting a pluralizer to Rust and I'm having some difficulty with regular expressions. I can't get the <code>Regex::replace()</code> method to replace a numbered capture group as I would expect. For example, the following displays an empty string:</p>
  
  <pre><code>let re = Regex::new("(m|l)ouse").unwrap();
  println!("{}", re.replace("mouse", "$1ice"));
  </code></pre>
  
  <p>I would expect it to print "mice", as it does in JavaScript (or Swift, Python, C# or Go)</p>
  
  <pre><code>var re = RegExp("(m|l)ouse")
  console.log("mouse".replace(re, "$1ice"))
  </code></pre>
  
  <p>Is there some method I should be using instead of <code>Regex::replace()</code>? </p>
  
  <p>Examining the <a href="https://crates.io/crates/Inflector" rel="noreferrer">Inflector crate</a>, I see that it extracts the first capture group and then appends the suffix to the captured text: </p>
  
  <pre><code>if let Some(c) = rule.captures(&amp;non_plural_string) {
      if let Some(c) = c.get(1) {
          return format!("{}{}", c.as_str(), replace);
      }
  }
  </code></pre>
  
  <p>However, given that <code>replace</code> works in every other language I've used regular expressions in, I would expect it work in Rust as well. </p>