正則表達式(英語: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必須爲最後一個字符。
public boolean matches(String regex) //判斷字符串是否匹配給定的規則
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) //將符合規則的字符串內容,所有替換爲新字符串