Я написал 2 оператора preg_match для извлечения TN, типа и расширения из дампа журнала. Есть ли способ объединить 2 оператора preg_match в один и при этом получить правильное извлечение?
preg_match("/(\d{3} \d \d{2} \d{2}) (\w{3,}).+(\d{4,}+)$/", $newstr, $match_array, PREG_OFFSET_CAPTURE, 29);
if (empty($match_array))
preg_match("/(\d{3} \d \d{2} \d{2}) (\w{3,})/", $newstr, $match_array, PREG_OFFSET_CAPTURE, 29);
Я попытался это сделать, и это не сработало
preg_match("/(\d{3} \d \d{2} \d{2}) (\w{3,}).+(\d{4,}+)$|(\d{3} \d \d{2} \d{2}) (\w{3,})/", $newstr, $match_array, PREG_OFFSET_CAPTURE, 29);
Содержимое файла данных:
1140E 19 SEP 2018 00 252 1 11 05 1140 8D 4090
1140E 19 SEP 2018 00 252 1 11 06 1140 8D
1140E 4 SEP 2019 00 252 1 11 07 1140 8D 5592
Совпадения:
252 1 11 05, 1140, 4090
252 1 11 06, 1140
252 1 11 07, 1140, 5592