2011-01-31 131 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