如何将日志中的变量行字符串与特定条件匹配?

时间:2016-12-12 15:50:39

标签: regex regex-negation regex-lookarounds

示例:我希望将错误块与以处理开头的行匹配,并以错误保存数据结束。我遇到的问题是贪婪或懒惰匹配,正则表达式也匹配以前的值!

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.

1 个答案:

答案 0 :(得分:0)

使用从“处理员工”开始并以“保存数据时出错”结束的全局匹配,但请确保匹配的字符串中没有两个换行符:

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

您可以在https://regex101.com/r/aCJ2Wv/1

查看正则表达式