溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

正則表達(dá)式如何在java中使用

發(fā)布時間:2020-11-17 15:03:55 來源:億速云 閱讀:97 作者:Leah 欄目:編程語言

正則表達(dá)式如何在java中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

Java中正則表達(dá)式運用實例(參看java中正則表達(dá)式運用詳解):

測試代碼

package test; 
/** 
 * 在String的matches()方法,split()方法中使用正則表達(dá)式. 
 * @author fhd001 
 */ 
public class RegexTest { 
 
  public static void main(String[] args) { 
 
    /* 
     * 普通字符 
     */ 
    String str1 = "abc45abc345"; 
    String[]arr1 = str1.split("abc"); 
    for (String string : arr1) { 
      System.out.print(string+"-->"); 
    } 
    System.out.println(); 
     
     
    /* 
     * 簡單的轉(zhuǎn)義字符 
     * 在java中轉(zhuǎn)義字符時一定要用雙反斜線,兩個斜線轉(zhuǎn)義成一個斜線, 
     * 在用這個斜線字符轉(zhuǎn)義那些特殊字符. 
     */ 
    String str2 = "^$()[]{}.?+*|"; 
    boolean flag = str2.matches("//^//$//(//)//[//]//{//}//.//?//+//*//|"); 
    System.out.println(flag); 
     
     
    /* 
     * 轉(zhuǎn)義字符 /Q.../E. 
     */ 
    String str3 = "^$()[]{}.?+*|99999"; 
    boolean flag2 = str3.matches("//Q^$()[]{}.?+*|//E//d{5}"); 
    System.out.println(flag2); 
     
     
    /* 
     * 字符集合 
     */ 
    String str4 = "dfddri334"; 
    boolean flag4 = str4.matches(".+"); 
    System.out.println(flag4); 
     
    String str5 = "#$%^*())%"; 
    boolean flag5 = str5.matches("//W{9}"); 
    System.out.println(flag5); 
     
    String str6 = "4gffmdkekrhhr"; 
    boolean flag6 = str6.matches("//w+"); 
    System.out.println(flag6); 
     
    String str7 = "fjfdke  eett "; 
    boolean flag7 = str7.matches("//w+//s+//w{4}//s?"); 
    System.out.println(flag7); 
     
    String str8 = "  erefff  "; 
    boolean flag8 = str8.matches("//s+//S+//s+"); 
    System.out.println(flag8); 
     
    String str9 = "456776888"; 
    boolean flag9 = str9.matches("//d+"); 
    System.out.println(flag9); 
     
     
    String str10 = "rtydfgrgwvr "; 
    boolean flag10 = str10.matches("//D+"); 
    System.out.println(flag10); 
     
     
    /* 
     * 自定義字符集合 [ ] 
     */ 
    String str11 = "fdfeetg 34566"; 
    boolean flag11 = str11.matches("[fdetg]+//s+[3-6]+"); 
    System.out.println(flag11); 
     
     
    String str12 = "rtyuie  5768"; 
    boolean flag12 = str12.matches("[^abcdf]+//s+[^1234]+"); 
    System.out.println(flag12); 
     
     
    /* 
     * 匹配次數(shù)限定符 
     */ 
     
    //貪婪模式 
    String str13 = "ytreggcv454444444333"; 
    boolean flag13 = str13.matches("//w{20}"); 
    System.out.println(flag13); 
     
    boolean flag14 = str13.matches("//w{10,21}"); 
    System.out.println(flag14); 
     
    boolean flag15 = str13.matches("//w{18,}"); 
    System.out.println(flag15); 
     
    String str14 = "4"; 
    boolean flag16 = str14.matches("//d?"); 
    System.out.println(flag16); 
     
    String str15 = "ddcvgt"; 
    boolean flag17 = str15.matches("//D+//d?"); 
    System.out.println(flag17); 
     
    String str16 = "e33tf44t44t"; 
    boolean flag18 = str16.matches("//w+//W*"); 
    System.out.println(flag18); 
     
    //勉強模式(只舉一例) 
    String str17 = "34567ghjkkld"; 
    boolean flag19 = str17.matches("//d{2,7}?//w{8,11}"); 
    System.out.println(flag19); 
     
    //占有模式(只舉一例) 
    String str18 = "22222ddddd"; 
    boolean flag20 = str18.matches("//d{2,5}+//w{6}"); 
    System.out.println(flag20); 
     
    /* 
     * 字符邊界 
     */ 
    String str19 = "a444545rot44tm"; 
    boolean flag21 = str19.matches("^a//w+m$"); 
    System.out.println(flag21); 
     
     
    /* 
     * 選擇表達(dá)式 xxx | xxx 
     */ 
    String str20 = "abc123abc"; 
    boolean flag22 = str20.matches("(abc|123){3}"); 
    System.out.println(flag22); 
     
     
    /* 
     * 分組 ( ). 
     * 以上修飾符都是針對一個字符進(jìn)行修飾.如果要對一組字符進(jìn)行 
     * 修飾就要用到() 
     */ 
    String str21 = "123qwe123qwe"; 
    boolean flag23 = str21.matches("(123qwe){2}"); 
    System.out.println(flag23); 
     
     
    /* 
     * []中的交集與并集 
     */ 
    String str22 = "abcdefgh2234567"; 
    boolean flag24 = str22.matches("[a-z1-9]+");    //并集 
    System.out.println(flag24); 
     
    boolean flag25 = str22.matches("[a-z1-9&&[a-h2-7]]+"); //交集 
    System.out.println(flag25); 
  } 
} 
 

結(jié)果代碼

-->45-->345--> 
true 
true 
true 
true 
true 
true 
true 
true 
true 
true 
true 
true 
true 
true 
true 
true 
true 
true 
false 
true 
true 
true 
true 
true 

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI