使用带有Perl的regexp从字符串中提取电子邮件

时间:2012-03-29 17:56:44

标签: regex string perl email

我是Perl的新手,我正在尝试从字符串中提取电子邮件 “汤姆史密斯”<tomsmith@gmail.com> 问题是没有安装模块Email :: Address,我没有安装它的权限。 有没有办法使用regexp提取电子邮件。

2 个答案:

答案 0 :(得分:1)

my $from_address = q{"Tom Smith" <tomsmith@gmail.com>};
my ($email) = $from_address =~ m/<([^>]+)>/;
print "$email\n";

这将从尖括号中包含的1个或多个非>个字符的第一个字符串中获取所有内容。

N.B。这不会验证电子邮件地址是否正确形成。如果您想确保从&lt;&gt;中提取的内容格式是有效的,您应该看看https://metacpan.org/source/RJBS/Email-Address-1.895/lib/Email/Address.pm

答案 1 :(得分:0)

你可以使用/<(.*)>/它会在里面获取一个文字&lt; &GT;括号