競馬の距離に合わせてpreg_match_allを修正しようとしています。
私の情報源は人種を次のようにリストしています:xmxfxy m値、f値、y値を一致させたい。ただし、異なる種族には、m、f、y、または2つ、あるいは3つすべてしか含まれない可能性があります。
// e.g. $raw = 5f213y;
preg_match_all('/(\d{1,})m|(\d{1,})f|(\d{1,})y/', $raw, $distance);
上記の種類は機能しますが、何らかの理由で、返された配列の予測できない位置に一致が表示されます。ORごとに3回マッチを実行しているからだと思います。1回の実行で3つすべて(存在する場合と存在しない場合があります)を一致させるにはどうすればよいですか。
編集完全なサンプル文字列は次のとおりです。
Hardings Catering Services Handicap (Div I) Cl6 5f213y