仍未解决:( [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)