【发布时间】:2018-03-13 16:24:59
【问题描述】:
我正在尝试从给定文本中提取电子邮件列表。大多数电子邮件具有以下语法:
"Last_name, First_Name (First-name)" <last_name.first_name@domain.xxx>
or
"Last_name, First_Name (XXXX)" <last_name.first_name@domain.xxx>
我的目标是提取整个电子邮件,包括第一部分,即“姓氏,名字(XXXX)”。
为了提取电子邮件列表,我使用了以下正则表达式:
"(<?[a-z0-9!#$%&*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`"
"{|}~-]+)*(@|\sat\s)(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(\.|"
"\sdot\s))+[a-z0-9](?:[a-z0-9-]*[a-z0-9]>?)?)"
只提取没有第一部分的电子邮件。意思是只提取:
<last_name.first_name@domain.xxx>
我尝试了几种正则表达式的变体来提取第一部分,但不幸的是它们不起作用。
如果您有任何建议,请不要犹豫。先感谢您。
【问题讨论】:
-
电子邮件字符串是否位于
<...>中?如果是这样,只需提取<.*?>? -
您是否有应从中提取电子邮件信息的示例电子邮件?如果是这样,请在此处发布完整的输入,让我们确切地知道输出应该是什么(假设有多个输入,因为似乎有多种格式)。另外,您是否尝试分组?您想要名字、姓氏和电子邮件吗?您希望后者采用哪种格式?