私はRubular.comでテストした正規表現を書いており、4つのマッチが返されました。テスト対象はhttp://pastebin.com/49ERrzJNで、PHPコードは以下のとおりです。何らかの理由で、PHPコードは最初の2つのマッチだけを返します。どのようにすべての4に一致するようにするには?それは貪欲などと関係しているようです。PHP preg_match_all trouble
$file = file_get_contents('x.txt');
preg_match_all('~[0-9]+\s+(((?!\d{7,}).){2,20})\s{2,30}(((?!\d{7,}).){2,30})\s+([0-9]+)-([0-9]+)-([0-9]+)\s+(F|M)\s+(.{3,25})\s+(((?!\d{7,}).){2,50})~', $file, $m, PREG_SET_ORDER);
foreach($m as $v) echo 'S: '. $v[1]. '; N: '. $v[3]. '; D:'. $v[7]. '<br>';
正確に何を抽出しようとしていますか? – Druzion
** ruby **ではrubular.comがありませんか? – Laurel
@Druzion:名前、姓、DOB、性別の中のほとんど – pedmillon