使用ruby从一些.txt文档中提取所有电子邮件地址

我必须从一些.txt文档中提取所有电子邮件地址.这些电子邮件可能具有以下格式:

> a@abc.com
> {a,b,c} @ abc.edu
>一些其他格式,包括一些@标志.

我选择ruby作为我的第一语言来编写这个程序,但我不知道如何编写正则表达式.有人会帮助我吗?谢谢!

根据.txt文档的性质,您不必使用其中一个尝试验证电子邮件地址的复杂正则表达式.你不是想要验证任何东西.你只是想抓住已有的东西.一般来说,获取已有内容的正则表达式比需要验证输入的正则表达式简单得多.

一个重要的问题是.txt文档是否包含不属于要提取的电子邮件地址的@符号.

这个正则表达式处理你的前两个要求:

\w+@[\w.-]+|\{(?:\w+, *)+\w+\}@[\w.-]+

或者,如果您想允许包含@符号的任何非空格字符序列,以及您的第二个要求(具有空格):

\S+@\S+|\{(?:\w+, *)+\w+\}@[\w.-]+
https://stackoverflow.com/questions/3194407/extract-all-email-addresses-from-some-txt-documents-using-ruby

转载注明原文:使用ruby从一些.txt文档中提取所有电子邮件地址