从邮件头regex获取全名

mznpcxlj  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(77)

我想解析电子邮件标题,以获得此格式的名称
From: "Firstname Lastname" < [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) >
我可以用这个正则表达式得到上面的结果
From:\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>
但我只想提取这个Firstname Lastname
我已经做了一整天了,还是想不出来。
我正在使用Power Automate来获取电子邮件的标题并提取发件人的姓名。
谢谢
我尝试了这个正则表达式From:\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>
很接近了但不是我想要的

vql8enpb

vql8enpb1#

  • ".

作为参考,这里是RFC,“公共互联网消息头”
RFC 2076 - Common Internet Message Headers - 3.4,收件人和收件人指示。
您可以使用以下模式来捕获文本。

From:\s*\"([^\"]+)\"?\s*<
  • ".我尝试了这个正则表达式From:\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>

它接近了,但不是我想要的。"*
只需在 capture group 外部添加 * 引号 * 即可。

From:\s*\"(.*[^\s])\"\s*<\s*(.*[^\s])\s*>

最后一点,你可以使用 match pattern,尽管它并不适用于所有的 *regex引擎 *。

(?<=From: *").+?(?=")
xriantvc

xriantvc2#

名字里可以有"吗?如果没有,那么模式是什么:双引号的东西-其他双引号?这将给我们给予:

举例来说:

相关问题