java正则表达式和网页爬虫的制作
来源:互联网 发布:vscode format 编辑:程序博客网 时间:2024/05/17 22:17
正则表达式是一种专门用于对字符串的操作的规则。
1.在String类中就有一些方法是对字符串进行匹配,切割。
判断字符串是否与给出的正则表达式匹配的:boolean matches( String regex);
按照给定的正则表达式对字符串进行切割的:String[] split(String regex);
将符合正则表达式的字符串替换成我们想要的其他字符串:String replaceAll(String regex,String replacement)
2.下面介绍一下正则表达式常用的用法
(1)
String regex="[1-9][0-9]{4,15}";
//[1-9]表示这个数字只能在1-9内选择
//[0-9]表示这个数字可以是0-9
//{4,15}表示其前面的这个格式的数字可以重复4-15次
这个正则表达式的意思 是:第一个数字应该是1-9中任意的一个,然后紧接着就必须要出现0-9中的数字中的一种,而且这种数字至少要出现4次,至多出现15次
如:
10175 符合
10不符合,因为[0-9]{4,15},至少要出现4次以上,在这里只出现了一次
(2)
[a-zA-Z0-9_]{6}表示恰好要出现6次a-z或A-Z或_ 中的字符
+表示至少出现一次
*表示出现0次或多次
?表示出现一次或0次
(3)根据正则表达式来切割字符串
String str="sjd.ksdj.skdjf";
String regex="\\.";
注意: . 在正则表达式中是表式一个任意的字符,是一个特殊的符号。我们想要用.来切割,就必须将其转换为普通字符 用\\即可。
因为\ 也是特殊符号,所以要两个\\来表示。当我们想要使用普通的 \ 时,那么就要用\\\\来表示才可。
String[] ss=str.split(regex); 返回字符串数组: "sjd" "ksdj" "skdjf" 实现 了对原有字符串的切割
(4)根据正则表达式来替换掉我们想要替换的东西
将字符串中所有连续出现5个或以上的数字串替换成#
String str="abcd1334546lasjdfldsf2343424sdj";
String regex="[0-9]{5,}";
String newstr=str.replaceAll(regex,"#");
(5)获取符合正则表达式规则的字符串
Pattern p=Pattern.compile(String regex);
Matcher m=p.matcher(String str);
while(m.find())
{
System.out.println(m.group());
}
3.网页爬虫的制作
我们制作 一个可以将一个网页中的全部的邮箱读取出,并且存放在一个文本文件中。
/*网页爬虫即:从网页中获取符合正则表达式的字符串或内容 从网络中获取邮箱地址*/import java.io.*;import java.util.regex.*;import java.net.*;class MailTest{public static void main(String[] args) throws Exception{getMailAddr();}public static void getMailAddr()throws Exception{URL url=new URL("http://bbs.csdn.net/topics/390148495");URLConnection con=url.openConnection();BufferedReader bufIn=new BufferedReader(new InputStreamReader(con.getInputStream()));BufferedWriter bufw=new BufferedWriter(new FileWriter(new File("e://mailaddress.txt")));String str=null;String regex="[a-zA-Z0-9_]{6,12}@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";Pattern p=Pattern.compile(regex);while((str=bufIn.readLine())!=null){Matcher m=p.matcher(str);while(m.find()){String ss=m.group();bufw.write(ss,0,ss.length());bufw.newLine();bufw.flush();}}}}
- java正则表达式和网页爬虫的制作
- java开发一个简单的网页爬虫训练正则表达式
- Java正则表达式之网页爬虫
- 黑马程序员-----正则表达式和网页爬虫
- 正则表达式,网页爬虫
- 正则表达式—网页爬虫
- 正则表达式(网页爬虫)
- 正则表达式(网页爬虫)
- 【爬虫】正则表达式解析网页
- 黑马程序员——正则表达式和网页爬虫
- java网页正则表达式爬虫(用纯java代码在相应的网页中查看自己想要的内容)
- 正则表达式的威力5_网页爬虫,爬邮件地址
- 动态网页制作php常用的正则表达式
- 动态网页制作PHP常用的正则表达式
- 动态网页制作PHP常用的正则表达式2013
- 黑马程序员_正则表达式(网页爬虫)
- 黑马程序员-正则表达式、网页爬虫
- 黑马程序员-正则表达式(网页爬虫)
- uva 10104 - Euclid Problem
- POJ-1466-Girls and Boys
- 添加搜索引擎字符串 google baidu
- 动态规划笔试题
- 备注
- java正则表达式和网页爬虫的制作
- 推荐一些常用的中外学术文献数据库网站
- Dancing Links
- Distinct Subsequences
- Android 2.2 和Google APIs的区别是什么
- 数据库 ,各种数据库的连接方式
- 剑指offer面试题45圆圈中最后一个数字,约瑟夫环模拟和数学解法
- Window下Qt中用qDebug()输出调试信息到Console控制台的设置方法
- UVa: 755 - 487--3279