2011-09-27 84 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