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