java String matches 正則表達

來源:互聯網
上載者:User

標籤:修飾符   sys   auth   bar   貪婪模式   too   結果   定義   java   

  

  1. package test;  
  2. /**  
  3.  * 在String的matches()方法,split()方法中使用Regex.  
  4.  * @author fhd001  
  5.  */  
  6. public class RegexTest {  
  7.   
  8.     public static void main(String[] args) {  
  9.   
  10.         /*  
  11.          * 一般字元  
  12.          */  
  13.         String str1 = "abc45abc345";  
  14.         String[]arr1 = str1.split("abc");  
  15.         for (String string : arr1) {  
  16.             System.out.print(string+"-->");  
  17.         }  
  18.         System.out.println();  
  19.           
  20.           
  21.         /*  
  22.          * 簡單的逸出字元  
  23.          * 在java中逸出字元時一定要用雙反斜線,兩個斜線轉義成一個斜線,  
  24.          * 在用這個斜線字元轉義那些特殊字元.  
  25.          */  
  26.         String str2 = "^$()[]{}.?+*|";  
  27.         boolean flag = str2.matches("//^//$//(//)//[//]//{//}//.//?//+//*//|");  
  28.         System.out.println(flag);  
  29.           
  30.           
  31.         /*  
  32.          * 逸出字元 /Q.../E.  
  33.          */  
  34.         String str3 = "^$()[]{}.?+*|99999";  
  35.         boolean flag2 = str3.matches("//Q^$()[]{}.?+*|//E//d{5}");  
  36.         System.out.println(flag2);  
  37.           
  38.           
  39.         /*  
  40.          * 字元集合  
  41.          */  
  42.         String str4 = "dfddri334";  
  43.         boolean flag4 = str4.matches(".+");  
  44.         System.out.println(flag4);  
  45.           
  46.         String str5 = "#$%^*())%";  
  47.         boolean flag5 = str5.matches("//W{9}");  
  48.         System.out.println(flag5);  
  49.           
  50.         String str6 = "4gffmdkekrhhr";  
  51.         boolean flag6 = str6.matches("//w+");  
  52.         System.out.println(flag6);  
  53.           
  54.         String str7 = "fjfdke    eett ";  
  55.         boolean flag7 = str7.matches("//w+//s+//w{4}//s?");  
  56.         System.out.println(flag7);  
  57.           
  58.         String str8 = "   erefff    ";  
  59.         boolean flag8 = str8.matches("//s+//S+//s+");  
  60.         System.out.println(flag8);  
  61.           
  62.         String str9 = "456776888";  
  63.         boolean flag9 = str9.matches("//d+");  
  64.         System.out.println(flag9);  
  65.           
  66.           
  67.         String str10 = "rtydfgrgwvr  ";  
  68.         boolean flag10 = str10.matches("//D+");  
  69.         System.out.println(flag10);  
  70.           
  71.           
  72.         /*  
  73.          * 自訂字元集合 [ ]  
  74.          */  
  75.         String str11 = "fdfeetg  34566";  
  76.         boolean flag11 = str11.matches("[fdetg]+//s+[3-6]+");  
  77.         System.out.println(flag11);  
  78.           
  79.           
  80.         String str12 = "rtyuie   5768";  
  81.         boolean flag12 = str12.matches("[^abcdf]+//s+[^1234]+");  
  82.         System.out.println(flag12);  
  83.           
  84.           
  85.         /*  
  86.          * 匹配次數限定符  
  87.          */  
  88.           
  89.         //貪婪模式  
  90.         String str13 = "ytreggcv454444444333";  
  91.         boolean flag13 = str13.matches("//w{20}");  
  92.         System.out.println(flag13);  
  93.           
  94.         boolean flag14 = str13.matches("//w{10,21}");  
  95.         System.out.println(flag14);  
  96.           
  97.         boolean flag15 = str13.matches("//w{18,}");  
  98.         System.out.println(flag15);  
  99.           
  100.         String str14 = "4";  
  101.         boolean flag16 = str14.matches("//d?");  
  102.         System.out.println(flag16);  
  103.           
  104.         String str15 = "ddcvgt";  
  105.         boolean flag17 = str15.matches("//D+//d?");  
  106.         System.out.println(flag17);  
  107.           
  108.         String str16 = "e33tf44t44t";  
  109.         boolean flag18 = str16.matches("//w+//W*");  
  110.         System.out.println(flag18);  
  111.           
  112.         //勉強模式(只舉一例)  
  113.         String str17 = "34567ghjkkld";  
  114.         boolean flag19 = str17.matches("//d{2,7}?//w{8,11}");  
  115.         System.out.println(flag19);  
  116.           
  117.         //佔有模式(只舉一例)  
  118.         String str18 = "22222ddddd";  
  119.         boolean flag20 = str18.matches("//d{2,5}+//w{6}");  
  120.         System.out.println(flag20);  
  121.           
  122.         /*  
  123.          * 字元邊界  
  124.          */  
  125.         String str19 = "a444545rot44tm";  
  126.         boolean flag21 = str19.matches("^a//w+m$");  
  127.         System.out.println(flag21);  
  128.           
  129.           
  130.         /*  
  131.          * 選擇運算式 xxx | xxx  
  132.          */  
  133.         String str20 = "abc123abc";  
  134.         boolean flag22 = str20.matches("(abc|123){3}");  
  135.         System.out.println(flag22);  
  136.           
  137.           
  138.         /*  
  139.          * 分組 ( ).  
  140.          * 以上修飾符都是針對一個字元進行修飾.如果要對一組字元進行  
  141.          * 修飾就要用到()  
  142.          */  
  143.         String str21 = "123qwe123qwe";  
  144.         boolean flag23 = str21.matches("(123qwe){2}");  
  145.         System.out.println(flag23);  
  146.           
  147.           
  148.         /*  
  149.          * []中的交集與並集  
  150.          */  
  151.         String str22 = "abcdefgh1234567";  
  152.         boolean flag24 = str22.matches("[a-z1-9]+");        //並集  
  153.         System.out.println(flag24);  
  154.           
  155.         boolean flag25 = str22.matches("[a-z1-9&&[a-h1-7]]+"); //交集  
  156.         System.out.println(flag25);  
  157.     }  
  158. }  

 

結果代碼 
  1. -->45-->345-->  
  2. true  
  3. true  
  4. true  
  5. true  
  6. true  
  7. true  
  8. true  
  9. true  
  10. true  
  11. true  
  12. true  
  13. true  
  14. true  
  15. true  
  16. true  
  17. true  
  18. true  
  19. true  
  20. false  
  21. true  
  22. true  
  23. true  
  24. true  
  25. true  

java String matches 正則表達

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.