繁体   English   中英

解析日志条目的正则表达式是什么

[英]What is the regular expression for parsing a log entry

此问题与“正常”分析字符串中的新行不同,因为此问题使用三个不同的正则表达式字符串来分析一行文本...可能有多行也可能没有多行

我有以下日志条目,并希望有一个解析它们两个的正则表达式...目前,它仅解析第一行。

这是日志条目

注意:第二个日志条目中有一个硬返回(“ \\ r \\ n”)

[2018-05-25 08:23:54.6040][Manager.Calls.Manager][GetManagerID]
[2018-05-25 08:23:54.6040][Manager.Calls.Manager][Status as of 5/25/2018 8:23:54 AM
Expires 1/1/0001 12:00:00 AM]

这是我当前正在使用的正则表达式:

(\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{4}\])\[(.*?)\]\[(.*?)\]

我想我需要一些东西来获得“ \\ r \\ n”行结尾...

这是我给Regex打电话的方式

match = Regex.Match(logEntryText, pattern, RegexOptions.Compiled | RegexOptions.Multiline);

更多信息:

我在最后一个reg表达式中尝试过

\[(.*?)(\n|\r|\r\n)\]

但它也失败了

我认为您可以在执行解析操作之前从数据预处理中受益。 例如,检查日志行是否以]结尾,如果不是,则将下一行追加到该行之后。 然后处理生成的完整日志条目。

编辑:我假设您只有一行列表(例如,来自文本文件)。 如果您拥有的是有时有时包含硬返回的日志条目列表,则只需在处理之前将其删除: logEntry.Replace("\\r\\n","")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM