title: /.?e.?/ matches entire string, rather than expected substring
body: <p>In Internet Explorer 10, this:</p>
  
  <pre><code>'abcdefghi'.match(/.?e.?/)
  </code></pre>
  
  <p>evaluates to <code>['def']</code>, as I'd expect, but in Firefox 21.0, it evaluates to <code>['abcdefghi']</code>. (See <a href="http://jsfiddle.net/7gKve/2/">this jsFiddle</a>.) I get the same sort of unexpected behavior for certain other regexes that both begin and end with optional content, such as <code>/.?e.{0,2}/</code> and <code>/.{0,2}e.{0,2}/</code>; however, commenters point out various similar regexes, such as <code>/\S?e\S?/</code> and <code>/(?:.?e.?)/</code>, that are <em>not</em> affected. The same applies to the <code>replace</code> method.</p>
  
  <p>Am I missing something obvious? Is there some deep reason for this behavior?</p>