У меня есть файл журнала, который я пытаюсь проанализировать. Каждый журнал имеет отметку времени в начале строки в формате YYY-MMM-DD HH:MM:SS.SSSSSS -0400:
, причем информация о часовом поясе является необязательной (которую я могу пока игнорировать). Я могу сопоставить их просто отлично, но не журнал после отметки времени, которая может начинаться сразу на той же или следующей строке и может быть длиной в несколько строк. Я неплохо справляюсь с регулярными выражениями, но редко делаю многострочные регулярные выражения.
Вот то, что я пробовал, похоже, шкаф
# finds the first timestamp, everything to end of file is the log
re.findall('\n(^\d{4}-[A-Za-z]{3}-\d{2} \d{2}:\d{2}:\d{2}.\d{6}).*?:(.*)', log, re.DOTALL)
# finds every timestamp, all logs are empty (obviously too un-greedy)
re.findall('\n(^\d{4}-[A-Za-z]{3}-\d{2} \d{2}:\d{2}:\d{2}.\d{6}).*?:(.*?)', log, re.DOTALL)
Я просто не знаю, как go о получении следующего журнала, но остановитесь, если увидите другую метку времени.