Regex 正则表达式:与包含和不包含匹配
我试图解析一个日志文件,该文件包含许多行,其中包含单词Regex 正则表达式:与包含和不包含匹配,regex,Regex,我试图解析一个日志文件,该文件包含许多行,其中包含单词ERROR,后跟引发异常的类和方法,如下所示: 2016-08-18 19:38:17 ERROR [KUHOMNYXARCH] [ 47] [c43215c4-acfd-491b-b418-653b53195be3] [MultiFormatRoiStreamer.GetImageRoi] 2016-08-18 19:39:46 ERROR [KUHOMNYXARCH] [ 46] [10ba0a0e-0ede-4d0e-a582-d7
ERROR
,后跟引发异常的类和方法,如下所示:
2016-08-18 19:38:17 ERROR [KUHOMNYXARCH] [ 47] [c43215c4-acfd-491b-b418-653b53195be3] [MultiFormatRoiStreamer.GetImageRoi]
2016-08-18 19:39:46 ERROR [KUHOMNYXARCH] [ 46] [10ba0a0e-0ede-4d0e-a582-d7e811bb7ade] [ExceptionHandlingBehavior.ProvideFault]
我正在尝试编写一个正则表达式,它将匹配所有包含错误
,但不包含多格式IStream.GetImageRoi
和异常处理行为的行。提供默认值
。我尝试使用消极的前瞻断言,但没有成功:
ERROR\s+\[KUHOMNYXARCH\] \[ [0-9]+\] \[[0-9a-f\-]+\] (?!(\[MultiFormatRoiStreamer\.GetImageRoi\]|\[ExceptionHandlingBehavior\.ProvideFault\]))
ERROR.+(?!(MultiFormatRoiStreamer|ExceptionHandlingBehavior))
对此有什么想法吗?你可以用它来查找行 它使用多行模式
(?m)
扩大:
(?m)
^
.*?
ERROR [^\S\r\n]+
(?:
(?!
MultiFormatRoiStreamer\.GetImageRoi
| ExceptionHandlingBehavior\.ProvideFault
)
.
)+
$
您可以使用此命令查找行 它使用多行模式
(?m)
扩大:
(?m)
^
.*?
ERROR [^\S\r\n]+
(?:
(?!
MultiFormatRoiStreamer\.GetImageRoi
| ExceptionHandlingBehavior\.ProvideFault
)
.
)+
$
你能把日志条目的字段分开并检查相应的字段吗?@AndrewMorton把字段分开是什么意思?这是从生产站点检索的平面文本文件。如果字段由制表符分隔,请使用字符串拆分函数获取字段数组。如果字段是固定宽度的,则使用子字符串函数提取行的适当部分。您在什么环境中使用正则表达式?您能将日志条目的字段分开并检查适当的字段吗?@AndrewMorton将字段分开是什么意思?这是从生产站点检索的平面文本文件。如果字段由制表符分隔,请使用字符串拆分函数获取字段数组。如果字段是固定宽度的,则使用子字符串函数提取行的适当部分。您在什么环境下使用正则表达式?