1. 程式人生 > >java中的正則表達式

java中的正則表達式

pan hone void 鍵盤錄入 com system print 一次 單詞

java中的正則表達式:

1:常見的表示規則:

 1 \\      反斜線字符 (即:\)
 2 
 3 
 4 字符類 
 5 [abc] a、b 或 c(簡單類) 
 6 [^abc] 任何字符,除了 a、b 或 c(否定) 
 7 [a-zA-Z] a 到 z 或 A 到 Z,兩頭的字母包括在內(範圍) 
 8 [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](並集) 
 9 [a-z&&[def]] d、e 或 f(交集) 
10 [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](減去) 
11 [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](減去) 
12 13 預定義字符類 14 . 任何字符(與行結束符可能匹配也可能不匹配)
\ 轉意字符 (\\表示:\,\\.表示:\.即:點本身)
15 \d 數字:[0-9] 16 \D 非數字: [^0-9] 17 \s 空白字符:[ \t\n\x0B\f\r] 18 \S 非空白字符:[^\s] 19 \w 單詞字符:[a-zA-Z_0-9] 20 \W 非單詞字符:[^\w] 21 22 邊界匹配器 23 ^ 行的開頭 24 $ 行的結尾 25 \b 單詞邊界 26 \B 非單詞邊界 27 \A 輸入的開頭 28 \G 上一個匹配的結尾 29 \Z 輸入的結尾,僅用於最後的結束符(如果有的話)
30 \z 輸入的結尾 31 32 Greedy 數量詞 33 X? X,一次或一次也沒有 34 X* X,零次或多次 35 X+ X,一次或多次 36 X{n} X,恰好 n 次 37 X{n,} X,至少 n 次 38 X{n,m} X,至少 n 次,但是不超過 m 次

例子:1:判斷是否是手機號是否以13或18開頭,滿足11位:

 1 public class RegexDemo {
 2     public static void main(String[] args) {
 3         //鍵盤錄入手機號碼
4 Scanner sc = new Scanner(System.in); 5 System.out.println("請輸入你的手機號碼:"); 6 String phone = sc.nextLine(); 7 8 //定義手機號碼的規則 9 String regex = "1[38]\\d{9}"; 10 11 //調用功能,判斷即可 12 boolean flag = phone.matches(regex); 13 14 //輸出結果 15 System.out.println("flag:"+flag); 16 } 17 }

2:驗證郵箱:

 1 /*
 2  * 校驗郵箱
 3  * 
 4  * 分析:
 5  *         A:鍵盤錄入郵箱
 6  *         B:定義郵箱的規則
 7  *             [email protected]
 8  *             [email protected]
 9  *             [email protected]
10  *             [email protected]
11  *             [email protected]
12  *         C:調用功能,判斷即可
13  *         D:輸出結果
14  */
15 public class RegexTest {
16     public static void main(String[] args) {
17         //鍵盤錄入郵箱
18         Scanner sc = new Scanner(System.in);
19         System.out.println("請輸入郵箱:");
20         String email = sc.nextLine();
21         
22         //定義郵箱的規則
23         //String regex = "[a-zA-Z_0-9]+@[a-zA-Z_0-9]{2,6}(\\.[a-zA-Z_0-9]{2,3})+";
24         String regex = "\\w+@\\w{2,6}(\\.\\w{2,3})+";
25         
26         //調用功能,判斷即可
27         boolean flag = email.matches(regex);
28         
29         //輸出結果
30         System.out.println("flag:"+flag);
31     }
32 }

java中的正則表達式