title: Preg match returning empty array
body: <p>I did the preg match below to get the hrefs that contain channels OR lifestyle-channels OR esports-channels but it is returning in addition to the correct array an empty array. I imagine there's something wrong with my expression</p>
  
  <pre><code>$re = '/(?!&lt;a href=")(?=(\/(?|channels|lifestyle-channels|esports-channels)\/[a-z 0-9-\_]{1,}))/m';
  
  $str = '&lt;div class="thumb-block "&gt;&lt;div class="thumb-inside"&gt;&lt;div class="thumb"&gt;&lt;a href="/video55783515222/12/best_ronaldinho_plays"&gt;&lt;img src="lightbox-blank.gif" data-src="12.jpg" data-idcdn="10" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="video-hd-mark"&gt;1080p&lt;/span&gt;&lt;/div&gt;&lt;div class="thumb-under"&gt;&lt;p class="title"&gt;&lt;a href="/video55783515/13/big_tips_12" title="Tips #12"&gt;Tips #12&lt;/a&gt;&lt;/p&gt;&lt;p class="metadata"&gt;&lt;span class="bg"&gt;&lt;span class="duration"&gt;26 min&lt;/span&gt;&lt;a href="/channels/tips_12"&gt;&lt;span class="name"&gt;Tips #12&lt;/span&gt;&lt;/a&gt;&lt;span class="text-disabled"&gt; 20 mins ago&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;';
  
  preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
  
  // Print the entire match result
  </code></pre>
  
  <p>var_dump($matches);</p>
  
  <p>result</p>
  
  <pre><code>array(1) {
    [0]=&gt;
    array(2) {
      [0]=&gt;
      string(0) ""
      [1]=&gt;
      string(17) "/channels/tips_12"
    }
  }
  </code></pre>
  
  <p>what i would like</p>
  
  <pre><code>array(1) {
    [0]=&gt;
    array(1) {
      [0]=&gt;
      string(17) "/channels/tips_12"
    }
  }
  </code></pre>