如何将可变行字符串(例如日志中的字符串)与特定条件匹配?
how to match a variable lines string such as in log with a specific criteria?
示例:我想将错误块与以处理开始并以错误保存数据结束的行匹配。我 运行 遇到的问题是贪婪或惰性匹配,正则表达式也匹配以前的值!
处理员工 123 1504 of 2056
2016-12-09-15.14.57.000000 :创建了员工 123。
处理员工 234 1505 of 2056
2016-12-09-15.14.57.000000:创建了员工 234。
处理员工 345 1506 of 2056
有效的邮政编码范围在 01000 和 99999 之间。
保存数据时出错。
处理员工 445 1507 of 2056
2016-12-09-15.14.58.000000:创建了员工 445。
处理员工 775 1509 of 2056
警告 123
警告 123
错误 123
保存数据时出错。
使用从 "Processing employee" 开始并以 "Error saving data" 结束的全局匹配,但要确保匹配的字符串中没有两个换行符:
(Processing employee)(\n[^\n]|[^\n])*\n(Error saving data\.)
查看正则表达式
示例:我想将错误块与以处理开始并以错误保存数据结束的行匹配。我 运行 遇到的问题是贪婪或惰性匹配,正则表达式也匹配以前的值!
处理员工 123 1504 of 2056 2016-12-09-15.14.57.000000 :创建了员工 123。 处理员工 234 1505 of 2056 2016-12-09-15.14.57.000000:创建了员工 234。 处理员工 345 1506 of 2056 有效的邮政编码范围在 01000 和 99999 之间。 保存数据时出错。 处理员工 445 1507 of 2056 2016-12-09-15.14.58.000000:创建了员工 445。 处理员工 775 1509 of 2056 警告 123 警告 123 错误 123 保存数据时出错。
使用从 "Processing employee" 开始并以 "Error saving data" 结束的全局匹配,但要确保匹配的字符串中没有两个换行符:
(Processing employee)(\n[^\n]|[^\n])*\n(Error saving data\.)
查看正则表达式