2015-12-03 2 views
-1

Я пытаюсь разобрать большой журнал в python, используя сложное регулярное выражение. Последовательность, которую я ищу, находится на нескольких последовательных линиях и может иметь положительный или отрицательный результат. Вот регулярное выражение с тестовыми данными:Проблема с сложным многострочным регулярным выражением

Вот моя проблема: https://regex101.com/r/pF3eM6/1

Регулярного выражение делает то, что он должен, вытаскивая начальную и конечную дату, источник и целевой формат, идентификатор задания и время завершения или «тайм-аут» , Однако, когда последовательность не завершена (например, конец файла), выражение заканчивается ошибкой (попробуйте удалить последнюю строку). Я бы хотел, чтобы выражение просто игнорировало такую ​​последовательность (без соответствия).

И для полноты здесь одно и то же регулярное выражение с вариантом «Time Out» файла журнала - и та же проблема, что и выше. https://regex101.com/r/pF3eM6/2

Может кто-нибудь помочь мне понять, что и почему происходит?

+0

Как regex101.com говорит вам, вы получая «катастрофическое возвращение назад». Вам нужно будет выяснить, почему это может произойти, и что может быть в вашем регулярном выражении, что может привести к этому. http://www.regular-expressions.info/catastrophic.html –

ответ

Смежные вопросы