Java取邮箱名_邮件开发 中的邮箱地址提取!
注意
读取几十万行记得逐行读取,然后将返回的emailList拼接起来,不然一次性全部读取几十万行会GG
Code :
/**
* 域名后缀维护列表,为保证匹配准确度,仅匹配域名列表里有的邮箱
* 例如 sf@sf.ggadmin@,help@admin.sf.gg 都可以被正确匹配
* sf@sf.gggame@google.com 也可以正确拆分为 sf@sf.gg 和 game@google.com
* 以下域名列表请自行按需添加, | 是间隔符
*
* @param str 传入的含有邮箱的字符串
* @return emailList 已提取的邮箱列表
* @author Levey
* @time 16/1/20 14:35
*/
private static List getEmailList(String str) {
//在此维护域名后缀表
String dn = "com|cn|org|com.cn|xyz|net|gg|gov.cn|love";
Pattern p = Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.(" + dn + ")"); //邮箱验证
Matcher m = p.matcher(str);
List emailList = new ArrayList<>();
while (m.find()) {
//update 2016-1-21 10:03:45
//去除包涵连续两个点的邮箱
if(!m.group().contains("..")) {
emailList.add(m.group());
}
}
return emailList;
}
Test:
public static void main(String args[]) {
String str = "tencent.sf.gg@10000@qq.comghghghghg\n" +
"你好leveychen,lev;levey-chen@myema你aaa@this.gov.cn好il.gmail.com悲" +
"剧help@admin.sf.gg了" +
"啊m@levey.com.cnmnihao的都是和";
System.out.println(getEmailList(str));
}
Output:
10000@qq.com
aaa@this.gov.cn
help@admin.sf.gg
m@levey.com.cn
sf@sf.gg
game@google.com
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
//去除包涵连续两个点的邮箱
Java取邮箱名_邮件开发 中的邮箱地址提取!相关推荐
- java dao层代码生成器_实际开发中 dao、entity的代码怎样自动生成?一款工具送给你...
01 关注"一猿小讲"朋友,都知道以往的文章一直倡导拒绝 CRUD,那到底什么是 CRUD?今天咱们就聊聊 Java 妹子小猿与数据库老头交互的事儿. 产品小汪铿锵有力的说:小猿同 ...
- java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at
[http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将 ...
- 二阶声波正演c语言程序_嵌入式开发中的三种程序构架
关注.星标公众号,直达精彩内容 0.前言 在嵌入式软件开发,包括单片机开发中,软件架构对于开发人员是一个必须认真考虑的问题.软件架构对于系统整体的稳定性和可靠性是非常重要的,一个合适的软件架构不仅结构 ...
- java 防止js注入_在WebView中如何让JS与Java安全地互相调用
在现在安卓应用原生开发中,为了追求开发的效率以及移植的便利性,使用WebView作为业务内容展示与交互的主要载体是个不错的折中方案.那么在 这种Hybrid(混合式) App中,难免就会遇到页面JS需 ...
- c语言改变cmd 字体大小_嵌入式开发中常见3个的C语言技巧
原文:https://www.cnblogs.com/CrazyCatJack/p/6080266.html 1.指向函数的指针 指针不光能指向变量.字符串.数组,还能够指向函数.在C语言中允许将函数 ...
- python 邮箱验证_在Django中进行用户注册和邮箱验证的方法
本文主要介绍我在利用Django写文章时,采用的注册方法.首先说一下整体逻辑思路: •处理用户注册数据, •产生token,生成验证URL, •发送验证邮件, •用户登录网址,进行验证, •验证处理. ...
- 暗黑破坏神 用什么 开发的_软件开发中最具破坏性的五种态度
暗黑破坏神 用什么 开发的 重点 (Top highlight) 成长心态是关键 (GROWTH MINDSET IS KEY) Based on my years of professional s ...
- java 发微信视频_微信开发之消息接收--视频消息(八)
一.消息格式 1357290913 1234567890123456 参数描述 ToUserName 开发者微信号 FromUserName 发送方帐号(一个OpenID) CreateTime 消息 ...
- java初始化微信分享_微信开发(一)基于Wx-java的微信分享功能
最近在做微信服务号开发,简单总结一下,便于自己学习积累和分享给大家: 环境介绍: Spring+ Spring MVC +Mybatis 开发语言: JAVA 微信公众平台的开发中,微信只公布了一个基 ...
- h5邮件的邮箱 支持_编写兼容各主流邮箱的HTML邮件
几乎每个会员制网站都需要通过后台发送邮件来与会员进行沟通,如注册确认.营销推广.这些由站方发给会员的信件,往往纯文本格式已不能满足界面和交互的要 求,这时候我们就需要发送HTML页面.由于HTML邮件 ...
最新文章
- 【LeetCode | 二叉树前、中、后序遍历{迭代法}实现】
- Mysql高性能优化规范建议,太厉害了!
- nyist-组队赛(六)
- 云付认证已通过可以支付吗_海科融通丨刷新支付日常问题【附交易操作步奏】...
- STL源码剖析 数值算法 copy_backward 算法
- 2015.11.27---Java
- asp.net DataGridTree表格树控件 下拉树 DropTree c# .net
- IT民工系列——通用7130芯片视频采集卡 SDK 兼容任意天敏 宏视 等板卡
- wordpress rest api 登录_Python构建RESTful网络服务[Django篇:生成API文档]
- leetcode刷题日记-课程表 III
- 基于STM32F429的DCMI实现OV7725-NF无缓存摄像头的图像采集HAL库
- IMDB 电影评论情感分类数据集
- 用Python做图片分类:前置处理,图片的缩小保存
- 带轮轮毂长度l和带轮宽b表_B型V带轮的轮缘宽B_轮毂孔径D和轮毂长L.doc
- Win 10 部分软件的界面模糊问题
- Pycharm提示No Python interpreter selected怎么解决
- C语言实验题――打印金字塔
- AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 AHB-Lite AHB5 )
- 计算机脚本语言是什么?
- 【第一章 走进数据科学】袁博《数据挖掘:理论与算法》