2011-09-27 39 views
0

如何从段落中提取多个电子邮件并将结果输出到控制台?从段落中提取多个字符串

var pattern:RegExp = (/^\b[-._0-9a-zA-Z][email protected][-._0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]\b$/i); 
var asd:String; 
asd=tt.text; 
trace(asd.match(pattern)); 
+0

您遇到了什么问题?只要你的正则表达式适用于电子邮件,它应该返回数组中的每一个匹配。 –

+0

它在字符串中有两个单独的电子邮件时返回“null”。 – vast1

+0

澄清“tt”是一个TextArea。 – vast1

回答

0

试试这个正则表达式来代替:([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})

+0

哦,太棒了!我放了些东西。谢谢! – vast1

0

你需要一个g添加到您的RegExp模式,使之成为全球搜索结束,因此返回所有的比赛,这将是在Array返回。 。例如,

var pattern:RegExp = (/foo/g); 

BTW,格兰特斯金纳有一个伟大的Flex/AIR应用程序开发和测试正则表达式模式:Online Version

+0

哦,太棒了!我放了些东西。谢谢! – vast1