2016-12-12 3 views
0

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

 
Processing employee 123 1504 of 2056 
2016-12-09-15.14.57.000000 : Employee 123 created. 

Processing employee 234 1505 of 2056 
2016-12-09-15.14.57.000000 : Employee 234 created. 

Processing employee 345 1506 of 2056 
Valid ZIP codes range between 01000 and 99999. 
Error saving data. 

Processing employee 445 1507 of 2056 
2016-12-09-15.14.58.000000 : Employee 445 created. 

Processing employee 775 1509 of 2056 
warning 123 
warning 123 
error 123 
Error saving data. 

ответ

0

Используйте глобальный матч, который начинается с «Обработкой сотрудника» и заканчивается «Ошибка сохранения данных», но убедитесь, что нет два перевода строки совпавшей строки:

(Processing employee)(\n[^\n]|[^\n])*\n(Error saving data\.) 

Вы можете посмотреть в regex по адресу https://regex101.com/r/aCJ2Wv/1

+0

Спасибо. Имеют смысл. Никогда не думал о том, чтобы решить это как две новые строки. Я пытался с утверждением. – Ram