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

如何使用正则表达式仅提取邮件To行内的所有邮箱地址

正则提取To行邮箱地址方案

这个需求完全可以通过正则实现,你之前使用的<.*>规则没有添加行范围限制,因此会匹配全文所有尖括号包裹的内容,只要添加范围锚定即可满足要求。

推荐匹配规则

支持PCRE语法的正则环境(Python re、JavaScript ES2018+、Java、grep -P等)可以直接使用以下单行匹配规则,开启多行模式(m修饰符)即可直接提取所有目标邮箱:

(?:^To:|(?!^)\G)[^<\n]*<([^>]+)>

规则逻辑说明

  • (?:^To:|(?!^)\G) 为范围定位段:仅从行首的To:标记开始匹配,后续匹配仅沿上一次匹配成功的结束位置继续,通过(?!^)排除行首位置,避免跨行匹配到其他行的尖括号内容
  • [^<\n]* 跳过当前位置到下一个左尖括号之间的无关字符,\n的限制确保匹配不会跳出To:所在的行
  • <([^>]+)> 匹配尖括号包裹的邮箱地址,第一个捕获组的内容就是你需要的邮箱值

兼容写法(适配不支持\G的老旧正则引擎)

如果你的使用环境不支持\G连续匹配锚点,可以分两步实现,兼容性覆盖几乎所有正则场景:

  1. 第一步开启多行模式,匹配To:开头的完整行:^To:.*$
  2. 第二步在第一步匹配到的行内容中,使用规则<([^>]+)>提取所有尖括号内的内容即可

匹配结果

针对你给出的测试文本,提取到的有效邮箱为:

  • vr.test@foo-gruppe.de
  • max.mustermann@foo-gruppe.de

注:你给出的预期结果中第一个邮箱遗漏了后缀.de,和原始文本中的实际邮箱值存在偏差。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:45:37