实现思路

1.使用Java.net.URL对象,绑定网络上某一个网页的地址

2.通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象

3.通过HttpConnection对象的getInputStream()方法获得该网络文件的输入流对象InputStream

4.循环读取流中的每一行数据,并由Pattern对象编译的正则表达式区配每一行字符,取得email地址

package cn.hyj;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
//和网络相关的操作
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class Test { /**
* @param args
*/ public static void main(String[] args) throws IOException {
//1.1 创建一个URL对象
URL url=new URL("https://www.douban.com/group/topic/8845032/");
//1.2 打开连接
URLConnection con=url.openConnection();
//1.3设置连接网络超时时间 单位为毫秒
con.setConnectTimeout(1000 * 10);
//1.4 通过流 操作读取指定网络地址中的文件
BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
//1.5 匹配email的正则
String regex = "[a-zA-Z0-9_-]+@\\w+\\.[a-z]+(\\.[a-z]+)?";
//1.6 使用模式的compile()方法生成模式对象
Pattern p = Pattern.compile(regex);
//1.7
while((line = bufr.readLine()) != null) {
Matcher m = p.matcher(line);
while(m.find()) {
System.out.println(m.group());// 获得匹配的email
}
} }
}

Java正则获取邮箱的更多相关文章

  1. java正则获取括号内的数据与排除括号内的数据

    1.正则获取括号内的数据 /** * 获取指定字符串中括号内的内容,返回字符串数组 * @param content * @return */ public String[] getBracketCo ...

  2. 通用且常用的Java正则匹配工具,用以检查邮箱名、电话号码、用户密码、邮政编码等合法性

    一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.rege ...

  3. 爬虫获取邮箱,存入数据库,发送邮件java Mail

    在网页上获取邮箱: package com.my.test; import java.io.BufferedReader; import java.io.InputStreamReader; impo ...

  4. java 正则操作之获取

    // 正则操作 获取import java.util.regex.*;class Demo{ public static void main(String[] args){  String str=& ...

  5. java正则 读取html 获取标题/超链接/链接文本/内容

    java正则 读取html 获取标题/超链接/链接文本/内容 参考链接:http://yijianfengvip.blog.163.com/blog/static/175273432201142785 ...

  6. Java正则速成秘籍(三)之见招拆招篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  7. JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)

    JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...

  8. java终端获取输入

    上一篇博客已经介绍了System.in这个输入流这次谈谈java如何获取终端(控制台)的输入 (1)BufferedReader JDK 1.4 及以下的版本中要想从控制台中输入数据只有一种办法,即使 ...

  9. Java正则速成秘籍(一)之招式篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

随机推荐

  1. JS去掉首尾空格 简单方法大全(原生正则jquery)

    JS去掉首尾空格 简单方法大全 var osfipin= ' http://www.cnblogs.com/osfipin/ '; //去除首尾空格 osfipin.replace(/(^\s*)|( ...

  2. Java Web 三层架构详解

    java 三层架构ssh 一个spring2.5+hibernate3.2+struts2.0组合框架,使用spring的 IoC来管理应用的 所有bean,包括struts2的 action,充分发 ...

  3. Creating Custom Connector Sending Claims with SharePoint 2013

    from:http://blogs.msdn.com/b/security_trimming_in_sharepoint_2013/archive/2012/10/29/creating-custom ...

  4. Swift设置自动行高

    // 设置行高自适应 tableView.rowHeight = UITableViewAutomaticDimension // 设置预估行高 tableView.estimatedRowHeigh ...

  5. Textview在Listview中实现跑马灯效果

    textview添加属性:   android:singleLine="true" 表示单行显示   android:ellipsize="marquee" 设 ...

  6. 单例模式-用GCD实现

    用GCD实现单例模式的步骤: 步骤1. 创建头文件 XZSingleton.h,里面代码如下: // .h文件 #define XZSingletonH(name) + (instancetype)s ...

  7. 天书笔记:如何创建一个现代的footer(页脚)

    此笔记纯属本人脑残笔记,阅读困难不理解属正常现象,初学者尽量不要阅读,否则轻则口吐白沫重则走火入魔,切记切记 老规矩,效果图 这个布局也是从b站看到的,回来自己实现了一遍 HTML: <div ...

  8. ERROR [org.apache.hadoop.security.UserGroupInformation] - PriviledgedActionExcep

    换了个环境,出现此异常 016-10-18 23:54:01,334 WARN [org.apache.hadoop.util.NativeCodeLoader] - Unable to load n ...

  9. mysql源码解读之事务提交过程(二)

    上一篇文章我介绍了在关闭binlog的情况下,事务提交的大概流程.之所以关闭binlog,是因为开启binlog后事务提交流程会变成两阶段提交,这里的两阶段提交并不涉及分布式事务,当然mysql把它称 ...

  10. 【shell--批量远程MySQL,执行命令】-【工作总结】

    昨天下班前,老板给了一批LOG数据库IP地址,需要统计LOG表里Message字段top 10的结果,并输出到一个excel文件里.抽查看了下,有两种格式的以当天日期结尾的表名.由于数量太多,时间紧迫 ...