You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带转义右括号的结构化日志正则匹配问题求助

解决方案

要解决日志末尾出现未转义]乱码时的正则匹配错误问题,核心是精准定位结构化数据的结束符(未被反斜杠转义的]),忽略后续乱码。

修改后的正则表达式

^(<\d+>)\s?(\d*)\s(.*?){7}\s\[(.*?(?<!\\))\]

关键修改说明

原正则中\[(.*)\]的贪婪匹配会错误包含末尾乱码里的未转义],替换为以下逻辑:

  • .*?:非贪婪模式匹配任意字符,避免过度延伸到乱码区域
  • (?<!\\):负向回顾后发断言,确保匹配到的]前面没有反斜杠(即不是转义后的\]),以此精准定位结构化数据的结束边界

匹配效果

  • 对于无乱码的标准日志,能正确捕获日志头部与方括号内的结构化数据
  • 对于末尾带有含未转义]的乱码日志,会自动在第一个合法的结束]处停止匹配,完全忽略后续乱码

内容的提问来源于stack exchange,提问作者Neil Walker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 15:14:56