当我确定存在不匹配的部分时,php preg_match只返回字符串的匹配部分
因此,我试图获取所有不匹配的文本,我有如下代码片段: 行,列=(1,1) 行,列=(1,2) 行,列=(9999999999) 存储在名为$foo的数组中的my 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
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]+)\, /
不知道你为什么要漏掉逗号,这是打字错误吗