字元:
\\ 反斜線字元
\t 製表符 ('\u0009')
\n 新行(換行)符 ('\u000a')
\r 回車符 ('\u000d')
\f 換頁符 ('\u000c')
\a 報警 (bell) 符 ('\u0007')
\e 轉義符 ('\u001b')
\cx 對應於 x 的控制符
字元匹配:
[a-z] 所有小寫字母
[a-z] 所有大寫字母
[^abc] 除過所有小寫字母
[0-9] 所有數字
預定字元:
. 任何字元(與行結束符可能匹配也可能不匹配)
\d 數字:[0-9]
\d 非數字: [^0-9]
\s 空白字元:[ \t\n\x0b\f\r]
\s 非空白字元:[^\s]
\w 單詞字元:[a-za-z_0-9]
\w 非單詞字元:[^\w]
邊界匹配器
^ 行的開頭
$ 行的結尾
\b 單詞邊界 指的是所有非\w的都可以是邊界
\b 非單詞邊界
\a 輸入的開頭
\g 上乙個匹配的結尾
\z 輸入的結尾,僅用於最後的結束符(如果有的話)
\z 輸入的結尾
greedy 數量詞
x? x,一次或一次也沒有
x* x,零次或多次
x+ x,一次或多次
x x,恰好 n 次
x x,至少 n 次
x x,至少 n 次,但是不超過 m 次
特殊構造(非捕獲)
(?:x) x,作為非捕獲組
(?idmsux-idmsux) nothing,但是將匹配標誌i d m s u x on - off
(?idmsux-idmsux:x) x,作為帶有給定標誌 i d m s u x on - off
的非捕獲組 (?=x) x,通過零寬度的正 lookahead
(?!x) x,通過零寬度的負 lookahead
(?<=x) x,通過零寬度的正 lookbehind
(?x) x,作為獨立的非捕獲組
在學習string的時候有replaceall(string regex,string replacement)方法和split(string regex)方法以及matches(string regex)都可以使用正則來進行使用。
現在我們使用pattern和matcher來進行正則的使用。
pattern和matcher概述:
pattern 模式器: 把正規表示式封裝進該類
matcher 匹配器
pattern的使用,把正規表示式封裝到模式器中
pattern a=pattern.compile(正則格式字串);
通過模式器中的matcher方法,又獲取到了乙個匹配,並把我們要匹配的資料傳進去
matcher m = p.matcher("aaaaab");
boolean b=m.matches();
matcher類的方法:
find() 判斷是否可以匹配上如果是返回true
group 找出匹配的字串。 注意一定要先使用find()方法先找到 才能用group()方法獲取出來
舉例:string b="adv faas abc adghjj";
pattern a=pattern.compile("a.c");
matcher c=a.matcher(b);
c.find();
system.out.println("c.find() = " + c.group());
public int groupcount() 返回此匹配器模式中的捕獲組數。根據慣例,零組表示整個模式。它不包括在此計數中。
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...