我有以下正则表达式,是从Regular expression to parse a log file and find stacktraces中获得的。
日期和时间会随时更改,但[SEVERE]始终存在。我想用正则表达式捕获这种异常格式。任何异常,不仅仅是NPE。
我真的不知道该怎么做。我查看了一些关于正则表达式的教程,但这些大型教程对我来说仍然是无意义的。这是我最近的尝试:
^.+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\]
它可以匹配第一部分。但我在捕获整个跟踪方面遇到了一些问题。