В настоящее время я использую 3 различных регулярных выражения в одном preg_match, используя знак или | отделить их. Это работает отлично. Однако первый и второй регулярные выражения имеют одинаковый тип вывода. например [0] Исходный текст [1] Число Количество [2] Имя - однако последнее, так как в нем используется другое расположение исходного текста, приводит к: [0] Исходный текст [1] Имя [2] Количество Количество.
preg_match('/^Guo (\d+) Cars @(\w+)|^AV (\d+) Cars @(\w+)|^@(\w+) (\d+) [#]?av/i', $source, $output);
Поскольку Name
может быть числовым, я не могу выполнить простую проверку, чтобы увидеть, является ли он числовым. Есть ли способ, которым я могу либо изменить порядок в регулярном выражении, либо определить, какое регулярное выражение тоже соответствует Скорость здесь важна, поэтому я не хотел использовать 3 отдельных оператора preg_match (и многое другое).