我正在寻找一种从给定字符串中检索所有电子邮件地址的方法。 例如:如果我有字符串“AB CD [ABCD@gmail.com]”我只想收到“ABCD@gmail.com”。
我想我应该使用RegExp和String匹配功能,但我不确定如何。
有什么想法吗?
答案 0 :(得分:5)
String.match
确实是要走的路:
var email:String = "foo foo bar@barbar.com 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);
这使用正则表达式来匹配regexr的社区正则表达式中的RFC2822。
答案 1 :(得分:0)
我建议你阅读here关于匹配电子邮件的正确正则表达式。是的,您应该使用您的语言的match
功能,但请记住,您必须使您的正则表达式适应您的电子邮件模式,例如,在这种情况下,您可能包含[
和]
。
我也建议使用Regex Buddy来尝试和测试regexp,这是imho中最好的工具。