Проблема с регулярным выражением получением числа
Мое регулярное выражение:
\[([А-Я][а-я] [а-я]{3} [0-9]{2} [0-2][0-9]:[0-9]{2}:[0-9]{2} [0-9]{4})\] .* file:(.*)
Оно правильно парсит строку вида:
[Пт мар 25 12:12:24 2021] [Processing] - Обработка: Запущена часть обработки file://path.txt
Но регулярное выражение не находит ничего, если дата имеет такой вид:
[Пт мар 5 12:12:24 2021]
Тоесть для строки
[Пт мар 25 12:12:24 2021] [Processing] - Обработка: Запущена часть обработки file://path.txt с кадра 17234 по кадр -1\n
мое регулярное выражение не сработает. Как мне изменить регулярное выражение, чтобы оно обрабатывало строку с любой датой (число имеет 1 или 2 символа).
Ответы (1 шт):
Автор решения: Эникейщик
→ Ссылка
[0-9]{2} -> [0-3]?[0-9]
? Означает 0 или 1 символ.
Числа от 32 до 39 тоже удовлетворяют этому выражению. Если входные данные валидные, то это не имеет значения.