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

求助:编写正则表达式捕获邮箱名及对应计数(适配Splunk)

解决Splunk中循环捕获邮箱与对应计数值的正则问题

原正则的问题分析

你的正则存在三个关键问题:

  1. 字符范围[a-z\.]+只覆盖小写字母和点,样本里的大写字母(比如Protection、ABCpremier)匹配不到,导致后续邮箱无法被捕获。
  2. 正则末尾多了个多余的],属于语法错误,会打断匹配逻辑。
  3. 未配置全局匹配模式,Splunk默认只提取第一个匹配项,所以只能拿到705。

修正后的正则表达式

(?<email>[A-Za-z0-9\.]+@test\.com)\s*(?<count>\d+)

正则说明

  • (?<email>[A-Za-z0-9\.]+@test\.com):命名捕获组email,匹配包含大小写字母、数字、点的邮箱前缀,@test\.com里的点做了转义(正则中点是通配符,必须转义才能匹配实际的点)。
  • \s*:匹配邮箱和数值之间的任意空白字符(包括换行符、空格),兼容不同的换行格式。
  • (?<count>\d+):命名捕获组count,匹配一个或多个数字,精准捕获计数值。

Splunk中的使用注意

在Splunk的rex命令里,需要加上max_match=0参数来开启全局匹配,这样就能捕获所有邮箱和对应计数值的配对:

your_base_search | rex max_match=0 "(?<email>[A-Za-z0-9\.]+@test\.com)\s*(?<count>\d+)"

另外,样本里的reassuredtest.com因为不符合@test.com的邮箱格式,会被这个正则自动忽略,如果你需要处理这类无效项,可以调整字符范围,但当前正则已经满足你“捕获有效邮箱+对应数值”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:01:36