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