簡體   English   中英

單個RegEx來解析這種日志格式?

[英]Single RegEx to parse this log format?

我試圖圍繞用.NET中的單個RegEx解析日志文件的可行性

令人困難的是日志文件中的項目可以(但不總是)跨越多行,並且每個日志文件實際上可能包含多個“日志”。 示例格式:

log:  
  event 1  
  event 2  
    additional information  
  event 3  
log:  
  event 1  
    additional information  
    more additional information  
  event 2  
    additional information

這里必須能夠區分哪些事件屬於哪個日志並且還具有附加信息。 當然,我能夠抓住事件...我無法通過其他信息獲取事件,更不用說將它們分組到日志中來捕獲:

我會很感激信息,而不是提供解決方案,所以我可以學習。 我想我的問題是:這有可能嗎? 它已經完成了解析器我只是想嘗試發現替代方法。

這看起來手動解析比在RegEx中嘗試更容易和更透明。 模式非常簡單。

為什么要嘗試使用單個正則表達式? 使用適當的解析器。

正則表達式對於簡單的字符串操作非常棒,但是一旦你得到更復雜的東西,實際的解析器就會好得多。

使用模式單獨提取每個日志條目是可能的(並且非常容易),但不能使用相同模式中的捕獲將匹配分成信息組。

您需要做的是為信息行構建一個模式(基本上,空格后跟其他東西到行尾),並重復它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM