ruby - 在大数据流中查找电子邮件地址

标签 ruby regex email-validation

仍未解决 :( [2 月 11 日]

我有一个充满随机数据的大型文本文件,想从中提取所有电子邮件地址。

我想在 Ruby 中使用如下伪代码来实现:

monster_data_string = "asfsfsdfsdfsf  sfda **joe@example.com** sdfdsf"
monster_data_string.match(EMAIL_REGEX)

有谁知道我会使用什么 Ruby 电子邮件正则表达式来完成此操作?

请记住,我正在寻找 Ruby 的答案。我已经尝试过通过谷歌搜索找到的大量正则表达式,但其中大多数会导致 Ruby 运行时错误,指出“+”和“”等字符无效/无法识别。*

我已经尝试过的是:

monster_data_string.match(/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)

但我收到 Ruby 错误,指出“+”是无效字符

提前致谢

最佳答案

看这个...

f =  File.open("content.txt")
content = f.read    
r = Regexp.new(/\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b/)     
emails = content.scan(r).uniq                                    
puts YAML.dump(emails)    

关于ruby - 在大数据流中查找电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/535644/

相关文章:

Linux 文件权限的正则表达式(数字符号)

javascript - 正则表达式用于有限的数字,无限的中间破折号?

javascript - 电子邮件地址验证的最佳做法(包括 gmail 地址中的 +)

ruby-on-rails - 将 block 传递给动态创建的方法

mysql - 多对多关系连接表不保存数据

regex - 无法使用 nginx logwarn 正确解析包含特定关键字的日志行

php - 这个正则表达式如何扩展和工作?

ruby-on-rails - 如何检查 HTTParty 生成的完整 URL?

ruby-on-rails - 如何找到方法的 Rails 模块路径

zend-framework - zend 表单电子邮件验证