在上一篇中,学习了正则表达式的四个功能。即匹配、分割、替换、获取。
利用获取功能,可以实现简单的网页爬虫。
4,获取:将字符串中的符合规则的子串取出。
获取功能的操作步骤:
1,将正则表达式封装成对象。
2,让正则对象和要操作的字符串相关联。
3,关联后,获取正则匹配引擎。
4,通过引擎对符合规则的子串进行操作,比如取出。
举例如下:
package com.packageTemp;可以自定义正则表达式,即所谓的规则,确定自己想要取出的内容。实现了简单的网页爬虫。
/*
网页爬虫(蜘蛛)
*/
import java.io.*;
import java.util.regex.*;
import java.net.*;
public class RegexTest2
{
public static void main(String[] args) throws Exception
{
getMails_1();
}
public static void getMails_1()throws Exception
{
URL url = new URL("http://sports.sina.com.cn/nba/");
URLConnection conn = url.openConnection();
BufferedReader bufIn = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
//String mailreg = "\\w+[html]\\w+(\\.\\w+)+";
String mailreg = "[a-zA-Z][1-9]\\d{3,10}";
//String mailreg = "1[3-9]\\D\\d\\w{2,12}";
Pattern p = Pattern.compile(mailreg);
while((line=bufIn.readLine())!=null)
{
Matcher m = p.matcher(line);
while(m.find())
{
System.out.println(m.group());
}
}
}
}