Java正则表达式—小应用—简易爬虫

时间:2022-12-15 16:38:31

    

       在上一篇中,学习了正则表达式的四个功能。即匹配、分割、替换、获取。

利用获取功能,可以实现简单的网页爬虫。


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

}
可以自定义正则表达式,即所谓的规则,确定自己想要取出的内容。实现了简单的网页爬虫。