Java正则表达式测试用例


(1)对IP地址进行排序:

public static void test_1() {
        String ip_str = "192.168.10.34   127.0.0.1 3.3.3.3 105.70.11.55 ";
        // 1,为了让ip可以按照字符串顺序比较,只要让ip的每一段的位数相同。
        // 所以,补零,按照每一位所需做多0进行补充。每一段都加两个0.
        ip_str = ip_str.replaceAll("(\\d+)", "00$1");
        System.out.println(ip_str);
        // 然后每一段保留数字3位。
        ip_str = ip_str.replaceAll("0*(\\d{3})", "$1");
        System.out.println(ip_str);
        // 1,将ip地址切出。
        String ips[] = ip_str.split(" +");
        TreeSet<String> ts = new TreeSet<String>();
        for (String ip : ips) {
            ts.add(ip);
        }
        // 对一个字段的四个部分按规则再切一次
        for (String ip : ts) {
            System.out.println(ip.replaceAll("0*(\\d+)", "$1"));
        }
    }

运行结果:

00192.00168.0010.0034   00127.000.000.001 003.003.003.003 00105.0070.0011.0055 
192.168.010.034   127.000.000.001 003.003.003.003 105.070.011.055 
3.3.3.3
105.70.11.55
127.0.0.1
192.168.10.34

 (2)字符串截取:

public static void test_2() {
        String st1 = "今今今....今今今....天....天天天天天....天天天.学学学.学学学学学学...学.习习习...习习习习";
        // 将字符串中的"."去除
        String regex = "\\.+";
        st1 = st1.replaceAll(regex, "");
        System.out.println(st1);
        // 去除叠词
        st1 = st1.replaceAll("(.)\\1+", "$1");
        System.out.println(st1);
    }

运行结果:

今今今今今今天天天天天天天天天学学学学学学学学学学习习习习习习习
今天学习

  (3) 对邮件地址校验:

public static void test_3() {
  String mail = "abc1@sina.com.cn";

  String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]{1,3})+";

  regex = "\\w+@\\w+(\\.\\w+)+";// 1@1.1

  boolean b = mail.matches(regex);

  System.out.println(mail + ":" + b);
 }

 运行结果:

abc1@sina.com.cn:true

 


本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/ysw-go/
1、本博客的原创原创文章,都是本人平时学习所做的笔记,如有错误,欢迎指正。
2、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理文章。
3、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM