2011-01-31 136 views
0

所以我试图获得所有不匹配的文本,并且我有代码片段,如下所示: Row,Col =(1,1 ) 行,列=(1,2) 行,列=(9999999,9999999)存储在阵列 名为$ foo的我的preg_match语句如下:php 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页面规格? (使用php 5.3.2)

回答

0

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

例如,假设您只想数字

/.*\(([0-9]+)\,/

不知道你为什么要逃避逗号,是一个错字?

+0

是的,这是一个错字,感谢您的帮助 – xenador 2011-02-05 07:15:37