正則表達式

概念

正則表達式(英語:Regular Expression,在代碼中常簡寫爲regex)。html

正則表達式是一個字符串,使用單個字符串來描述、用來定義匹配規則,匹配一系列符合某個句法規則的字符串。在開發中,正則表達式一般被用來檢索、替換那些符合某個規則的文本。正則表達式

正則表達式語法規則

                  * a: 字符spa

                          * x  表明的是字符xregexp

                          * \\ 表明的是反斜線字符'\'htm

                          * \t 表明的是製表符開發

                          * \n 表明的是換行符字符串

                          * \r 表明的是回車符get

                  * b: 字符類it

                          * [abc]    a、b 或 c(簡單類)io

                          * [^abc]   任何字符,除了 a、b 或 c(否認)

                          * [a-zA-Z] a到 z 或 A到 Z,兩頭的字母包括在內(範圍)

                          * [0-9]    0到9的字符都包括

                          * [a-zA-Z_0-9] 表明的字母或者數字或者下劃線(即單詞字符)

                  * c: 預約義字符類

                          * . 任何字符。

                          * \d 數字:[0-9]

                          * \w 單詞字符:[a-zA-Z_0-9]

                  * d: 邊界匹配器

                          * ^  表明的是行的開頭

                          * $  表明的是行的結尾

                          * \b 表明的是單詞邊界

                  * e: 數量詞

                          * X?     X,一次或一次也沒有

                          * X*     X,零次或屢次

                          * X+     X,一次或屢次

                          * X{n}   X,剛好 n 次

                          * X{n,}  X,至少 n 次

                          * X{n,m} X,至少 n 次,可是不超過 m 次

例子說明

    規則:"[0-9]{6,12}"

        該規則須要匹配的內容是:長度爲6位到12位的數字。

    規則:"1[34578][0-9]{9}"

        該規則須要匹配的內容是:11位的手機號碼,第1位爲1,第2位爲3、4、5、7、8中的一個,後面9位爲0到9之間的任意數字

    規則:"a*b"

        該規則須要匹配的內容是:在多個a或零個a後面有個b;b必須爲最後一個字符。

 

在Java中的字符串類中涉及正則表達式的經常使用方法

  public boolean matches(String regex) //判斷字符串是否匹配給定的規則

  舉例:校驗qq號碼.

      1: 要求必須是5-15位數字

      2: 0不能開頭

  代碼例子:

      String qq = "604154942";

      String regex = "[1-9][0-9]{4,14}";

      boolean flag2 = qq.matches(regex);

  public String[] split(String regex)   //根據給定正則表達式的匹配規則,拆分此字符串

  舉例:分割出字符串中的的數字

  代碼例子:

  String s = "18-22-40-65";

      String regex = "-";

      String[] result = s.split(regex);

  代碼例子:

      String s = "18 22 40 65";

      String regex = " ";

      String[] result = s.split(regex);

  public String replaceAll(String regex,String replacement)    //將符合規則的字符串內容,所有替換爲新字符串

  舉例:把文字中的數字替換成*

  代碼例子:

      String s = "Hello12345World6789012";

      String regex = "[0-9]";

      String result = s.replaceAll(regex, "*");

總結

正則表達式:用來定義匹配規則,匹配一系列符合某個句法規則的字符串。

正則表達式的匹配規則

請參見 正則表達式的匹配規則

正則表達式的經常使用方法:

public boolean matches(String regex) //判斷字符串是否匹配給定的規則

public String[] split(String regex)   //根據給定正則表達式的匹配規則,拆分此字符串

public String replaceAll(String regex,String replacement) //將符合規則的字符串內容,所有替換爲新字符串

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息