您的位置:首页 > 编程语言 > Java开发

Java正则抓取Email

2016-06-24 16:05 309 查看

[b]实现思路:[/b]

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

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

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

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

[b]关键代码:[/b]

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());

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: