title: Why is preg_match_all returning two matches?
body: <p>I am trying to identify if a string has any words between double quotes using <code>preg_match_all</code>, however it's duplicating results and the first result has two sets of double quotes either side, where as the string being searched only has the one set.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>$str = 'Test start. "Test match this". Test end.';
  $groups = array();
  preg_match_all('/"([^"]+)"/', $str, $groups);
  var_dump($groups);
  </code></pre>
  
  <p>And the var dump produces:</p>
  
  <pre><code>array(2) {
      [0]=&gt;
      array(1) {
          [0]=&gt;
          string(17) ""Test match this""
      }
      [1]=&gt;
      array(1) {
          [0]=&gt;
          string(15) "Test match this"
      }
  }
  </code></pre>
  
  <p>As you can see the first array is wrong, why is <code>preg_match_all</code> returning this?</p>