gpt4 book ai didi

java - 使用正则表达式匹配多行日志文件中的每条消息

转载 作者:行者123 更新时间:2023-12-02 12:43:42 25 4
gpt4 key购买 nike

我有这个多行日志文件:

INFO 2017-07-01 12:01:56,987 [Thread-1] Class1:15 This is the message 1
DEBUG 2017-07-01 12:01:56,987 [Thread-1] Class2:15 This is the message 2
that is multiline!
WARN 2017-07-01 12:01:56,987 [Thread-1] Class3:15 This is a warn message
ERROR 2017-07-01 12:01:56,987 [Thread-1] Class4:15 This is an error with the stacktrace...
my.packkageName.MyException: exception!
at my.packkageName.Class4.process(Class4.java:11)
at ...
INFO 2017-07-01 12:01:56,987 [Thread-1] Class1:15 This is another INFO message

我想要一个匹配日志中每条消息的正则表达式,如下所示:

group 1: INFO 2017-07-01 12:01:56,987 [Thread-1] Class1:15 This is the message 1

group 2: DEBUG 2017-07-01 12:01:56,987 [Thread-1] Class2:15 This is the message 2
that is multiline!

group 3: WARN 2017-07-01 12:01:56,987 [Thread-1] Class3:15 This is a warn message

group 4: ERROR 2017-07-01 12:01:56,987 [Thread-1] Class4:15 This is an error with the stacktrace...
my.packkageName.MyException: exception!
at my.packkageName.Class4.process(Class4.java:11)
at ...

此正则表达式仅适用于单行消息:

(?:ERROR|DEBUG|INFO|WARN).++

最佳答案

我找到了解决方案。

要使用的正则表达式如下:

/(?:DEBUG|INFO|ERROR|WARN)[\s\S]+?(?=DEBUG|INFO|WARN|ERROR)/gm

这以多行方式匹配单词 DEBUG、INFO、ERROR 或 WARN 之间包含的每个“日志消息”。

关于java - 使用正则表达式匹配多行日志文件中的每条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44861134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com