如何在 几万行或者 几十万行的的 文件中 准确的获取到 邮箱地址 并把这些地址 输出!
基本原理就是文本匹配,这个用正则表达式就好了:
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
如果数据量比较大,从效率方面考虑应使用fork/join去处理
8 回答6.6k 阅读
4 回答711 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答974 阅读✓ 已解决
注意
读取几十万行记得逐行读取,然后将返回的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
//去除包涵连续两个点的邮箱