ログファイルを解析してスタックトレースを見つけるための正規表現を取得した次の正規表現があります
^.+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\]
これは最初の部分と一致します。ただし、トレース全体をキャプチャするのに問題があります。