我想解析日志文件以检索时间
、类型
和消息
。日志文件的构造如下:
[08:52:18] [ERROR] Ceci doit aparaitre
[08:52:18] [WARN] Bonjour
我目前是这样做的:
var result = Regex.Match(fileLogs, @"/\[(.+)\] \[(.+)\] (.+)/g");
这在 RegexStorm 这样的网站上运行良好但不在我的代码上。我真的不明白为什么。
我想检索这些元素以创建 Log
的新实例(它只有 3 个属性:time
、type
和 消息
)
去掉开头的/
和结尾的/g
。您正在使用 C# 而不是 Javascript 进行编程。
var result = Regex.Match(fileLogs, @"\[(.+)\] \[(.+)\] (.+)");
Ideone 表明它现在可以工作了:https://ideone.com/QkTYwS
要正确拆分它,您可以使用类似的东西:
var result = Regex.Matches(fileLogs, @"\[(.+)\] \[(.+)\] (.+)");
foreach (Match match in result)
{
string time = match.Groups[1].Value;
string type = match.Groups[2].Value;
string messsage = match.Groups[3].Value;
Console.WriteLine("{0} | {1} | {2}", time, type, messsage);
}
注意 Regex.Matches
的使用。
Ideone: https://ideone.com/lUxnSs