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

如何在Graylog正则替换提取器中匹配首个24位路径ID(无需非贪婪标志)

Graylog正则提取首个24位路径ID的解决方案

可行正则表达式

针对你的需求,无需依赖非贪婪标志的正则方案有两种,可根据路径前缀的固定程度选择:

  1. 适用于固定两级前缀的路径(如/v1/apiX/...)
^\/[^\/]+\/[^\/]+\/([A-Za-z0-9]{24})
  1. 适用于前缀层级不固定的通用场景
^\/(?:[^\/]+\/)*([A-Za-z0-9]{24})

为什么之前的正则失效

你之前使用的^.*\/([A-Za-z0-9]{24})(?:\/[A-Za-z0-9]{24})?.*$中,.*\/属于贪婪匹配,会直接匹配到路径中最后一个有效斜杠,导致捕获到的是末尾的24位字符串,而非首个ID。

正则逻辑说明

  • [^\/]+:匹配任意非斜杠字符,避免过度匹配后续路径段
  • (?:[^\/]+\/)*:非捕获组,匹配零或多个「目录段+斜杠」的组合,适配任意层级的前缀路径
  • ([A-Za-z0-9]{24}):捕获首个出现的24位字母数字ID,对应提取目标$1

Graylog配置注意事项

创建Regex Replace Extractor时:

  • 将上述正则填入「正则表达式」字段
  • 提取目标选择「第一个捕获组($1)」
  • 无需额外添加正则标志,即可正确提取两种路径场景下的首个ID

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 02:50:33