title: Regex match returning unexpected results
body: <p>I'm trying a regex match, but am getting unexpected results. What am I doing wrong?</p>
  
  <pre><code>$text = "one two three?four five six?";
  preg_match("~(.+?)(?:\?)?~", $text, $match);
  
  print_r($match);
  </code></pre>
  
  <p><b> Result: </b></p>
  
  <pre><code>Array ( [0] =&gt; o [1] =&gt; o )
  </code></pre>
  
  <p><b> Expected Result: </b></p>
  
  <pre><code>Array ( [0] =&gt; one two three? [1] =&gt; one two three )
  </code></pre>