我想解析电子邮件标题,以获得此格式的名称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*>
很接近了但不是我想要的
2条答案
按热度按时间vql8enpb1#
作为参考,这里是RFC,“公共互联网消息头”。
RFC 2076 - Common Internet Message Headers - 3.4,收件人和收件人指示。
您可以使用以下模式来捕获文本。
From:\s*(.*[^\s])\s*<\s*(.*[^\s])\s*>
它接近了,但不是我想要的。"*
只需在 capture group 外部添加 * 引号 * 即可。
最后一点,你可以使用 match pattern,尽管它并不适用于所有的 *regex引擎 *。
xriantvc2#
名字里可以有
"
吗?如果没有,那么模式是什么:双引号的东西-其他双引号?这将给我们给予:"([^"]+)"
举例来说: