黑马程序员-学习-正则表达式

来源:互联网 发布:文明5黄金时代算法 编辑:程序博客网 时间:2024/05/22 02:09
---------------------- android培训java培训、期待与您交流! ----------------------

正则表达式:符合一定规则的表达式
作用:用于专门操作字符串
特点:用于一些特定的符号来表示一些代码操作,这样就简化书写
所以学习正则表达式,就是在学习一些特殊符号的使用


好处:可以简化对字符串的复杂操作
弊端:符号定义越多,正则越长,阅读性越差


具体操作功能:
1.匹配:String matches();用正则匹配整个字符串,只要有一处不符合规则就匹配

结束,返回false.

2.切割:String split();
按照叠词完成切割.为了可以 让规则的结果被复用
可以将规则装成一个组,用()完成,组的出现都有编号
从1开始,想要使用已有的组可以通过 \n(n就是组的符号)的形式来获取
"(.)\\1+"

3.替换:String replaceAll();
将重叠的字符替换成单个字母
replaceAll(str,"(.)\\1+","$1");

4.获取:将字符串中符合规则的子串取出
操作步骤:
(1).将正则表达式封装成对象
(2).让正则对象和要操作的字符串相关联
(3).关联后,获取正则匹配引擎
(4).通过引擎对符合规则的子串进行操作

 

 

网页爬虫

import java.io.*;
import java.util.regex.*;
import java.net.*;

class RegexDemo{
 public static void main(String[] args) throws Exception{
  getMails();
 }
 
 public static void getMails()throws Exception{
  URL url = new URL("192.168.1.254:8080/my/mail.html");
  URLConnection conn = url.openConnection();
  BufferdReader bufIn = new BufferdReader(new InputStreamReader(conn.getInputStream())); 
  String line = null;
  String mailreg = "
\\w+@\\w+(\\.\\w)+";
  Pattern p = Pattern.compile(mailreg);
  while((line=bufIn.readLine())!null){
   Matcher m = p.matcher(line);
   while(m.find()){
    System.out.println(m.group());
   }
  }
 }
}

 

 

---------------------- android培训java培训、期待与您交流! ----------------------
原创粉丝点击