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

正则表达式分隔符指导:多行Kafka日志从RSYSLOG到Fluentd匹配问题

Kafka多行日志匹配:精准截止到下一个时间戳前

修正后的正则表达式

(?<date>\[.*?\]) (.*?) ((?:.|\n)(?!\[))*

核心改进说明

原正则里的((.|\n*)*)会无差别匹配所有内容,导致把下一条日志的时间戳也纳入匹配范围。改成((?:.|\n)(?!\[))*后,通过**负向先行断言(?!\[)**限制匹配边界:只有当前位置后面不是[(新日志时间戳的起始标记)时,才继续匹配任意字符(包括换行符)。

各部分匹配逻辑

  • (?<date>\[.*?\]):捕获日志开头的时间戳(格式为[xxx])
  • (.*?):匹配时间戳后的短字段(比如日志级别、进程标识)
  • ((?:.|\n)(?!\[))*:匹配日志主体内容,直到下一个时间戳的[出现前停止,彻底避免跨日志匹配的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 16:45:44