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

如何用正则表达式从邮件头提取发件人全名(Power Automate)

从邮件头提取带引号的发件人全名(Power Automate适用)

修正后的正则表达式

用这个正则可精准捕获引号内的发件人全名:

From:\s*"([^"]+)"\s*<
  • From:\s* 匹配邮件头里的From:前缀,忽略其后任意空白字符
  • "([^"]+)" 核心匹配逻辑:[^"]+专门匹配双引号之间的所有内容(不会包含引号本身),通过捕获组()提取目标全名
  • \s*< 匹配引号后的空白字符和左尖括号,确保匹配位置准确,避免误抓无关内容

Power Automate 具体用法

在Power Automate中通过表达式调用正则匹配提取内容:

  1. 假设你已获取邮件头内容并存储在变量或输出中,比如outputs('Get_Message_Headers')
  2. 使用以下表达式提取全名:
first(matches(outputs('Get_Message_Headers'), 'From:\s*"([^"]+)"\s*<'))[1]
  • matches()执行正则匹配,返回所有匹配结果的数组
  • first()取数组第一个匹配项(邮件头仅含一个From字段)
  • [1]提取匹配结果的第一个捕获组内容,即引号内的全名

原正则问题分析

你之前使用的From:\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>存在两个关键问题:

  1. .*是贪婪匹配,会把双引号也包含进结果,导致提取内容带引号
  2. 未限定匹配范围,若邮件头存在干扰字符,可能匹配到错误内容

内容的提问来源于stack exchange,提问作者Faris AL-Otaibi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:00:08