我正在尝试纠正 preg_match_all 以匹配赛马距离。
我的来源将种族列为:xmxfxy 我想匹配 m 值、f 值、y 值。然而,不同的种族可能只有 m,或 f,或 y,或其中两个,甚至三个。
// e.g. $raw = 5f213y;
preg_match_all('/(\d{1,})m|(\d{1,})f|(\d{1,})y/', $raw, $distance);
上述工作,但由于某种原因,匹配出现在返回数组中不可预测的位置。我想这是因为它为每个 OR 运行了 3 次比赛。如何在一次运行中匹配所有三个(可能存在也可能不存在)。
编辑一个完整的示例字符串是:
Hardings Catering Services Handicap (Div I) Cl6 5f213y