如何在 几万行或者 几十万行的的 文件中 准确的获取到 邮箱地址 并把这些地址 输出!
基本原理就是文本匹配,这个用正则表达式就好了:
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
如果数据量比较大,从效率方面考虑应使用fork/join去处理
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
注意
读取几十万行记得逐行读取,然后将返回的emailList拼接起来,不然一次性全部读取几十万行会GG
Code :
Test:
Output:
update 2016/01/20 15:09:41
更新已知bug
极端情况下
com 和 co 域名无法正确识别,例如
my@email.comy@email.com
这会优先提取 com域名,然后再去匹配co 域名
abc@mail....com
也能被匹配//update 2016-1-21 10:03:45
//去除包涵连续两个点的邮箱