使用perl提取电子邮件的一部分

时间:2015-04-05 17:30:48

标签: regex perl

我有一个像flavius.david@yahoo.com这样的电子邮件地址。 我想提取“大卫”。我试过这个

`"m[^([^.]*)-([^+]*)\@.*$];"`  
print " $&\n";

但是,结果只是“。”

3 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式:

/[^.]+(?=@)/

RegEx Demo

答案 1 :(得分:2)

这取决于你还在做什么,但我会写一些像

这样的东西
my @names = $email =~ /\w+/g;
my $sname = $names[1];

答案 2 :(得分:0)

如果你需要这两个部分,你的原始正则表达式很接近,但应该是:

^([^.]*)\.([^@]*)@.*$

RegEx Playground