码迷,mamicode.com
首页 > 编程语言 > 详细

Java正则抓取Email

时间:2017-04-01 22:56:30      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:main   class   知识库   reader   循环   row   java ee   []   ase   

实现思路:

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

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

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

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

关键代码:

 

技术分享
技术分享
package cn.bdqn;

import java.io.BufferedReader;
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 {
    public static void main(String[] args) throws Exception {
        //创建一个url对象
        URL url=new URL("");
        
        //打开连接
        URLConnection conn=url.openConnection();
        
        //设置连接网络超时时间 单位为毫秒
        conn.setConnectTimeout(1000*10);
        
        //通过流操作读取指定网络地址中的文件
        BufferedReader bufr=new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String line=null;
        
        //匹配email的正则
        String regex="[a-zA-Z0-9_-]+@\\w+\\.[a-z]+(\\.[a-z]+)?";
        
        //使用模式的compile()方法生成模式对象
        Pattern p=Pattern.compile(regex);
        
        while((line=bufr.readLine())!=null){
            Matcher m=p.matcher(line);
            
            while(m.find()){
                System.out.println(m.group());
                
            }
            
        }         
    }

}

Java正则抓取Email

标签:main   class   知识库   reader   循环   row   java ee   []   ase   

原文地址:http://www.cnblogs.com/zhangkeyu/p/6657716.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!