簡體   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