2011-01-31 12 views
0

したがって、すべての不一致のテキストを取得しようとしています。 ) 行、コル=(1、 行、コルは=(配列に格納9999999、9999999) は$私のするpreg_match文はのように見えるfooという2):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

関連する問題