我将把它分解为两个操作,因为我似乎无法找出正则表达式来完成它。但是,我想我会问这里的智囊团,看看是否有人可以做到(我相信有人可以)。
本质上,我有一个字符串,其中包含来自 Exchange 电子邮件的收件人字段。我想将其解析为单个收件人。我不需要验证电子邮件或任何东西。本质上,数据是逗号分隔的,除非逗号位于一组引号之间。这就是让我搞砸的部分。
现在我正在使用:(?"[^"\r\n]*")
这给了我引用的名字,和([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0 -9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1 ,3})
这给了我电子邮件地址
这就是我所拥有的......数据:
"George Washington" <gwashington@government.net>, "Abraham Lincoln" <alincoln@government.net>, "Carter, Jimmy" <jimmy.carter@presidents.com>, "Nixon, Richard M." <tricky.dick@presidents.com>
我想回来的是:
"George Washington" <gwashington@government.net>
"Abraham Lincoln" <alincoln@government.net>
"Carter, Jimmy" <jimmy.carter@presidents.com>
"Nixon, Richard M." <tricky.dick@presidents.com>