Php Preg match返回空数组

Php Preg match返回空数组,php,regex,preg-match,preg-match-all,Php,Regex,Preg Match,Preg Match All,我做了下面的preg匹配,以获得包含频道、生活方式频道或电子竞技频道的HREF,但它除了返回正确的数组外,还返回了一个空数组。我想我的表情有点不对劲 $re = '/(?!<a href=")(?=(\/(?|channels|lifestyle-channels|esports-channels)\/[a-z 0-9-\_]{1,}))/m'; $str = '<div class="thumb-block "><div class="thumb-inside">

我做了下面的preg匹配,以获得包含频道、生活方式频道或电子竞技频道的HREF,但它除了返回正确的数组外,还返回了一个空数组。我想我的表情有点不对劲

$re = '/(?!<a href=")(?=(\/(?|channels|lifestyle-channels|esports-channels)\/[a-z 0-9-\_]{1,}))/m';

$str = '<div class="thumb-block "><div class="thumb-inside"><div class="thumb"><a href="/video55783515222/12/best_ronaldinho_plays"><img src="lightbox-blank.gif" data-src="12.jpg" data-idcdn="10" /></a></div><span class="video-hd-mark">1080p</span></div><div class="thumb-under"><p class="title"><a href="/video55783515/13/big_tips_12" title="Tips #12">Tips #12</a></p><p class="metadata"><span class="bg"><span class="duration">26 min</span><a href="/channels/tips_12"><span class="name">Tips #12</span></a><span class="text-disabled"> 20 mins ago</span></span></p></div></div>';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

// Print the entire match result
我想要什么

array(1) {
  [0]=>
  array(1) {
    [0]=>
    string(17) "/channels/tips_12"
  }
}

尝试?尝试做什么?我认为Bruno试图理解为什么一个空字符串在开始时匹配。
array(1) {
  [0]=>
  array(1) {
    [0]=>
    string(17) "/channels/tips_12"
  }
}