当我确定存在不匹配的部分时,php preg_match只返回字符串的匹配部分

当我确定存在不匹配的部分时,php preg_match只返回字符串的匹配部分,php,preg-match,Php,Preg Match,因此,我试图获取所有不匹配的文本,我有如下代码片段: 行,列=(1,1) 行,列=(1,2) 行,列=(9999999999) 存储在名为$foo的数组中的my preg_match语句如下所示: foreach($foo as $fooPartition){ if(preg_match("/.*\([0-9]+\, /", $fooPartition, $match)){ $unecessaryFluff = $match[0]; $infoINeed = $ma

因此,我试图获取所有不匹配的文本,我有如下代码片段: 行,列=(1,1) 行,列=(1,2) 行,列=(9999999999) 存储在名为$foo的数组中的my preg_match语句如下所示:

foreach($foo as $fooPartition){
   if(preg_match("/.*\([0-9]+\, /", $fooPartition, $match)){
      $unecessaryFluff = $match[0];
      $infoINeed = $match[1];
   }
}
我不断返回$unecessaryFluff,但当我尝试访问$match[1]时,我得到了一个缺少的索引,我的调试器验证$match实际上只是一个长度为1的数组,其中包含字符串的匹配部分和$match[1]DNE


有人知道我做错了什么,使得preg_match没有按照php页面规范返回字符串中不匹配的部分吗?(使用PHP5.3.2)

如果要隔离特定字符串,需要指定分组表达式(使用括号)

例如,假设您只需要数字

/.*\(([0-9]+)\, /
不知道你为什么要漏掉逗号,这是打字错误吗