[英]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.