一、常見的符號的介紹
1.1 預定義字元類
符號 說明
. 任何字元(與行結束符可能匹配也可能不匹配)
\d 數字:[0-9]
\d 非數字: [^0-9]
\s 空白字元:[ \t\n\x0b\f\r]
\s 非空白字元:[^\s]
\w 單詞字元:[a-za-z_0-9]
\w 非單詞字元:[^\w]
\ 轉義字元,比如"\\"匹配"\" ,"\ 匹配確定的 n 次。例如,「e」不能匹配「bed」中的「d」,但是能匹配「seed」中的兩個「e」。
至少匹配n次。例如,「e」不能匹配「bed」中的「e」,但能匹配「seeeeeeeed」中的所有「e」。
最少匹配 n 次且最多匹配 m 次。「e」將匹配「seeeeeeeed」中的前三個「e」。
1.3 邊界匹配符號
符號 說明
^ 行的開頭
$ 行的結尾
\b 單詞邊界
\b 非單詞邊界
\a 輸入的開頭
\g 上乙個匹配的結尾
\z 輸入的結尾,僅用於最後的結束符(如果有的話)
\z 輸入的結尾
1.3 其他常見符號
的使用--或 說明 匹配括號中的任何乙個字元
[abc] a、b 或 c(簡單類)
[^abc] 任何字元,除了 a、b 或 c(否定)
[a-za-z] a 到 z 或 a 到 z,兩頭的字母包括在內(範圍)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](並集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](減去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](減去)
二、常見的操作
2.1 匹配
string matches()方法。用規則匹配整個字串,只要有一處不符合規則,就匹配結束,返回false。
public class regexmatchesdemo01";boolean flag = qq.matches(regex);
if(flag)
system.out.println(qq+":合法");
else
system.out.println(qq+":不合法");
}}//12345664:合法
2.2 切割
string split()方法; 根據給定正規表示式的匹配拆分此字串。返回乙個陣列。
舉例:
public static void splitdemo()}
組group舉例:
2.3 替換
string replaceall(regex,str)方法; 使用給定的 replacement 替換此字串所有匹配給定的正規表示式的子字串。
ps:如果regex中有定義組,可以在第二引數中通過$符號獲取正規表示式中的已有的組。
舉例:
public static void splitdemo()} // er,ty,ui,o
public static void replacealldemo()","#");
system.out.println(str);
}// wer#ty#uio#f
組group舉例:
public static void replacealldemo()// erktyquizo
2.4獲取
----將字串中的符合規則的子串取出。
舉例:
public static void getdemo()\\b";//匹配只有三個字母的單詞
//將規則封裝成物件。
pattern p = pattern.compile(reg);
//讓正則物件和要作用的字串相關聯。獲取匹配器物件。
matcher m = p.matcher(str);
其實string類中的matches方法。用的就是pattern和matcher物件來完成的。
//只不過被string的方法封裝後,用起來較為簡單。但是功能卻單一。
// boolean b = m.find();//將規則作用到字串上,並進行符合規則的子串查詢。
// system.out.println(b);
// system.out.println(m.group());//用於獲取匹配後結果。
while(m.find())
}
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...