正則學習筆記一

2021-10-09 21:13:03 字數 2456 閱讀 5471

[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](減去)

. 任何字元(與行結束符可能匹配也可能不匹配)

\d 數字:[0-9]

\d 非數字: [^0-9]

\s 空白字元:[ \t\n\x0b\f\r]

\s 非空白字元:[^\s]

\w 單詞字元:[a-za-z_0-9]

\w 非單詞字元:[^\w]

x? x,一次或一次也沒有

x* x,零次或多次

x+ x,一次或多次

x x,恰好 n 次

x x,至少 n 次

x x,至少 n 次,但是不超過 m 次

xy x 後跟 y

x|y x 或 y

public

static

void

main

(string[

] args)";

scanner input=

newscanner

(system.in)

; system.out.

println

("請輸入乙個手機號:");

string phone=input.

next()

;if(phone.

matches

(reg1)

)else

}

public

static

void

main

(string[

] args)

[x|0-9]"

; scanner input=

newscanner

(system.in)

; system.out.

println

("請輸入乙個身份證號號:");

string cardid=input.

next()

;if(cardid.

matches

(reg1)

)else

}

compile(string regex) 將給定的正規表示式編譯到模式中(將正規表示式放在pattern物件中)。

matcher(charsequence input)建立匹配給定輸入與此模式的匹配器。

matches();將字串與正規表示式進行全部匹配

find(); 區域性匹配,在字串中找到與正規表示式符合一部分,有符合部分就返回true,接著遍歷。

group();返回由find()獲得區域性匹配子字串。

public

static

void

main

(string[

] args)

";// system.out.println("請輸入乙個手機號:");

// string phone=input.next();

// if (phone.matches(reg1)) else

/*第二種:用正規表示式物件和匹配器物件實現*/

//建立乙個正規表示式物件

pattern p1=pattern.

compile

("1[3-9]\\d");

system.out.

println

("請輸入乙個手機號:");

string phone=input.

next()

;//獲得匹配器物件

matcher m=p1.

matcher

(phone)

;//用匹配器物件呼叫方法將正規表示式與字串全域性匹配

if(m.

matches()

)else

}

/**

* 正則的使用,遮蔽手機號中間5位

*/public

class

test3")

;//用正則物件建立匹配器物件,將要匹配的字串放在匹配器中

matcher m=p1.

matcher

(word)

;//用匹配器物件呼叫區域性匹配方法

while

(m.find()

) system.out.

println

("遮蔽後為:"

+word);}

}

正則學習筆記

最近做東西頻繁的用到正則這一塊,所以自己又翻了翻以前的筆記和檢視了正則三十分鐘入門教程。重新整理了筆記,希望在以後的學習過程中便於查閱 注 以下例子非本人原創 什麼是正規表示式 在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的工具。換句話說,正...

正則學習筆記

文星家 即 01次 0多次 1多次 匹配起始端 匹配結尾處 匹配任意單個字元,但換行符除外 x 匹配x並記住x,前提是匹配 x 匹配x但不記住x x y 匹配x,僅當後面緊跟著y時。如果符合匹配,則只有x會被記住,y不會被記住。x y 匹配x,僅當後面不緊跟著y時。如果符合匹配,則只有x會被記住,y...

正則學習筆記

字元匹配 區間範圍框 列舉值 a z0 9a z 分枝條件或 特殊轉義符 取消轉義 w a za z0 9 r n 換行符匹配 u4e00 u9fa5 漢字 s s 任意字元 懶惰匹配 若發現匹配立即返回,懶惰搜尋 例 a.b exec abcdedfb abcdedfb a.b exec abcd...