regex - 无法解析多行正则表达式模式
问题描述
我们正在尝试在 tomcat 日志上解析多行格式,如果模式不匹配,它们将出现在单独的行中
这是我运行的正则表达式模式 “<code>^(?<time>[0-9][^ ]* [^ ]* [^ ]*) (?<severity>[^ ]*) (?<msg >.*)”</p>
如何解析可以在一行中获取整个味精的多行?
2021-06-28 10:51:01,175 EDT ERROR [MFTAgentBootstrap] {main} For input string: "" java.lang.NumberFormatException: For input string: ""
2021-06-28 10:48:49,781 EDT ERROR [MFTAgentBootstrap] {main} For input string: "" java.lang.NumberFormatException: For input string: ""
2021-06-28 10:48:49,781 EDT ERROR [MFTAgentBootstrap] {main} For input string: "" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at com.linoma.dpa.DPASettings.loadSettings(DPASettings.java:2050)
2021-06-28 10:51:01,175 EDT ERROR [MFTAgentBootstrap] {main} For input string: "" java.lang.NumberFormatException: For input string: ""
2021-06-28 10:51:01,175 EDT ERROR [MFTAgentBootstrap] {main} For input string: "" java.lang.NumberFormatException: For input string: ""
解决方案
(?<msg>)
只要此正则表达式沿途找到以空格开头的行,它就会继续捕获该组。
^(?<time>[0-9][^ ]* [^ ]* [^ ]*) (?<severity>[^ ]*) (?<msg>.*(?:\r?\n +.*)*)
推荐阅读
- css - 图片在类内扩展而不会失真
- android - 在ios上安装深度链接后如何测试?
- postgresql - 从另一个表更新一个列值的 PostgreSQL 语法
- ios - 为什么我的链接对象没有领域?
- excel - 使用事件触发器将值从一个范围粘贴到单元格和另一个范围,并使用 sum 函数保持运行总计 [VBA]
- swiftui - 打开通知时在 WKWebView 中加载 url
- python - pip 安装包中的虚拟环境(或替代方案)
- python - 具有请求和响应的 Flask 中间件
- c++ - 使用 boost 数据结构和 nghttp2 的 C++ 程序未编译
- node.js - 节点 js 会话