【发布时间】:2016-03-22 09:41:50
【问题描述】:
我想解析一个日志文件来检索time、type 和message。一个日志文件是这样构造的:
[08:52:18] [ERROR] Ceci doit aparaitre
[08:52:18] [WARN] Bonjour
我目前正在这样做:
var result = Regex.Match(fileLogs, @"/\[(.+)\] \[(.+)\] (.+)/g");
这在RegexStorm 这样的网站上运行良好,但在我的代码上却不行。我真的不明白为什么。
我想检索这些元素以创建 Log 的新实例(它只有 3 个属性:time、type 和 message)
【问题讨论】:
-
but not on my code=> 这就是我们需要更多信息的地方 -
什么是
fileLogs?行数组,单行还是什么? -
fileLogs 只是一个包含上述示例文本的字符串。结果是整行。
-
好的,然后看看 xanatos 的答案。小心,如果你想阅读整个日志文件,你需要使用
Regex.Matches否则你只会得到第一个出现 -
对我来说
string fileLogs = "[08:52:18] [ERROR] Ceci doit aparaitre"; var result = Regex.Match(fileLogs, @"\[(.+)\] \[(.+)\] (.+)");工作得很好