从一个文本块中提取电子邮件地址

时间:2009-02-02 20:57:37

标签: ruby regex

如何创建一个文本块中包含的电子邮件地址数组? 我试过了

addrs = text.scan(/ .+?@.+? /).map{|e| e[1...-1]}

但(毫不奇怪)它不能可靠地工作。

1 个答案:

答案 0 :(得分:9)

如何(稍微)更好的正则表达式

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

你可以在这里找到:

Email Regex

仅供参考,您的电子邮件的问题是您在电子邮件地址之前或之后只允许使用一种类型的分隔符。如果用空格分隔,您将单独匹配“@”。