如何从字符串中获取电子邮件地址

问题描述:

我正在寻找一种方法来检索给定字符串中的所有电子邮件地址。 例如:如果我有字符串“AB CD [[email protected]]”,我只想收到“[email protected]”。如何从字符串中获取电子邮件地址

我想我应该使用RegExp和字符串匹配功能,但我不知道如何。

任何想法?

String.match确实是要走的路:

var email:String = "foo foo [email protected] sploof"; 
var matches:Array = email.match(/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/g); 

它使用正则表达式的RFC2822从regexr社区正则表达式匹配。

+0

很好的答案。 谢谢:) – 2010-08-26 08:15:25

我建议您阅读here关于正确的正则表达式来匹配电子邮件。是的,您应该使用您的语言的功能,但请记住,您必须使您的正则表达式适应您的电子邮件模式,例如,在这种情况下,您可能包含[]的存在。

我也建议使用Regex Buddy来尝试和测试正则表达式,它是那里最好的工具imho。