A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周发建 中级黑马   /  2016-3-29 10:21  /  313 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、正则表达式(一)规则
用于操作字符串数据
[abc]        包含abc
[^abc]        非包含abc
[a-zA-Z]字母大小写
[a-d[m-p]]a-dm-p
\d         数字
\D        非数字
\s        空白
\S         非空白
\w        单词字符
\W        非单词字符
+           1次或多次
*        0次或多次
(.)\\1+   组的使用,叠词
String类的方法
        matches(String reg);   匹配
        split(String reg);        切割
        replaceAll(String reg, String);替换
(二)替换电话号码
//替换电话号码
public static void phoneNumber(){
        String tel = "18310100822";
        tel = tel.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
        System.out.println(tel);
}
(三)匹配
//匹配
public static void cMatcher(){
        String str = "abc bb bcd ade bcrr";
        //Pattern 正则类
        Pattern p = Pattern.compile("\\b[a-z]{3}\\b");  // \b单词边界
        Matcher m = p.matcher(str);
        while(m.find()){
                String s = m.group();
                System.out.println(s);
        }
}
(四)治口吃
//治口吃
public static void kouchi(){
        String str = "我我我要要要学知识识识识,能能帮助我我我我学习吗吗吗?";
        str = str.replaceAll("(.)\\1+", "$1");
        System.out.println(str);
}
(五)Ip地址排序
//IP地址排序
public static void ipSort(){
        String ip_str = "192.168.1.130 127.0.0.1 105.70.11.55 3.3.3.3";
        //1. 0
        ip_str = ip_str.replaceAll("(\\d+)", "00$1");
        //2. 每段保留3
        ip_str = ip_str.replaceAll("0*(\\d{3})", "$1");
        //3. 切割
        String[] ips = ip_str.split(" +");
        //4. 比较
        TreeSet<String> ts = new TreeSet<String>();
        for(String ip: ips){
                ts.add(ip);
        }
        //5. 去除每段前的0
        String str = "";
        for(String ip: ts){
                str += ip.replaceAll("0*(\\d+)", "$1")+" ";
        }
        //5. 打印
        System.out.println(str);
}
(六)校验Email
//校验email
public static void regEmail(){
        String email = "zhoujian@sina.com";
        boolean b = email.matches("\\w+@\\w+(\\.\\w+){1,3}");
        System.out.println(b);  //true
}
(七)网页爬虫
//网页爬虫
public static void inteCrawler() throws IOException{
        //网页爬虫:是在互联网上查找需要信息的程序,例如:爬邮箱
        //1. 读取的信息
        URL url = new URL("http://www.sina.com.cn");
        BufferedReader bfr = new BufferedReader(new InputStreamReader(url.openStream()));
        //2. 对读取的信息进行匹配,从中获取需要的信息
        String reg = "\\w+@\\w+(\\.\\w+)+";
        Pattern p = Pattern.compile(reg);
        //3. 将符合条件的信息集中存储
        List<String> list = new ArrayList<String>();
        String line = null;
        while((line = bfr.readLine())!=null){
                Matcher m = p.matcher(line);
                while(m.find()){
                        list.add(m.group());
                }
        }
        System.out.println(list);
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马