我有以下正则表达式,我获得了正则表达式来解析日志文件并找到堆栈跟踪
^.+Exception[^\n]++(\s+at .++)+
查找堆栈跟踪非常有用。但是,我需要找到通过记录器输出的堆栈跟踪(特别是在 Bukkit Minecraft 服务器中)。它们看起来像这样:
2012-08-10 08:19:17 [SEVERE] java.lang.NullPointerException
2012-08-10 08:19:17 [SEVERE] at net.minecraft.server.World.tickEntities(World.java:1146)
2012-08-10 08:19:17 [SEVERE] at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:567)
2012-08-10 08:19:17 [SEVERE] at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
2012-08-10 08:19:17 [SEVERE] at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476)
2012-08-10 08:19:17 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408)
2012-08-10 08:19:17 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
日期和时间总是会改变,但 [SEVERE] 会一直存在。我正在寻找用正则表达式捕获这种格式的异常。任何异常,而不仅仅是 NPE。
我真的不知道该怎么做。我查看了一些关于正则表达式的教程,但这些大人物对我来说仍然是胡言乱语。这是我最近的尝试
^.+Exception[^\n]++(.++at .++)+
编辑:好的,我做了一些更多的研究并进一步研究。我做了这个:
\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s\[SEVERE\]
与第一部分匹配。不过,我在捕获整个跟踪时遇到了一些麻烦。