У меня есть файл журнала, который я пытаюсь сканировать для шаблонов и подсчитываю количество раз, когда просматриваются определенные шаблоны. Журнал выглядит следующим образом:Как совместить шаблон регулярного выражения несколько раз?
11298 [out] [работник: 83] данные были восстановлены.
11299 [из] [рабочие: 83] END Строительных данных для обува
11299 [из] [рабочие: 83] END Строительных данных для бара
11300 [из] [рабочий: 83] НАЧАТЬ Строительство данных для Baz
11301 [ERR] [рабочий: 83] Путин бомбил Сирию
Я заинтересован во всех линиях, начиная с [выход] и содержащий END, НАЧАТЬ или перестроены (необходимо COUN т их отдельно). Так я думал, что следующее регулярное выражение
(out.*END)*
будет соответствовать патч шаблон out] anything here END
несколько раз, но это только дает мне первый экземпляр out
в моем файле и останавливается. Может ли кто-нибудь указать мне в правильном направлении?
Я делаю это в MATLAB с синтаксисом regexp(txt,expr,'start')
Я сам нашел ответ. Поведение '.' По умолчанию в regex MATLAB отличается от стандартного (оно включает в себя новую строку), и есть опция '' dotexceptnewline '', которая может использоваться для переключения на стандартное поведение. –
Пятнистый комментарий после публикации ответа. Рад, что ты это нашел. – scope