Java基礎(十)正規表示式

2021-08-18 10:52:11 字數 1212 閱讀 6388

1.概念和作用

正規表示式

* 是指乙個用來描述或者匹配一系列符合某個語法規則的字串的單個字串。其實就是一種規則。有自己特殊的應用。

* 作用:比如註冊郵箱,郵箱有使用者名稱和密碼,一般會對其限制長度,這個限制長度的事情就是正規表示式做的

2.常見物件

(1)字元類

[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)預定義字元

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

\d數字:[0-9]                 

需要用轉義字元

\d非數字: [^0-9]              需要用轉義字元

\s空白字元:[ \t\n\x0b\f\r]           水平製表符,換行符,垂直製表符,換頁符,回車   需要用轉義字元

\s非空白字元:[^\s]              需要用轉義字元

\w單詞字元:[a-za-z_0-9]          需要用轉義字元

\w非單詞字元:[^\w]            需要用轉義字元

(3)數量詞x?

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

x,零次或多次x+

x,一次或多次

xx,恰好 n 次

xx,至少 n 次

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

3.pattern和matcher

* 典型的呼叫順序是

* pattern p = pattern.compile("a*b");               獲取到正規表示式

* matcher m = p.matcher("aaaaab");                獲取匹配器

* boolean b = m.matches();                              看是否能匹配

java正規表示式(十)

十 零寬斷言 接下來,我們講解正規表示式中的高階技術 零寬斷言 exp 也叫零寬度正 先行斷言,它斷言自身出現的位置的後面能匹配表示式exp。比如 b w ing b 匹配以ing結尾的單詞的前面部分 除了ing以外的部分 如查詢i m singing while you re dancing.時,...

java基礎(正規表示式)

字元類 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 ...

java基礎之正規表示式

一 基本概念 1 正規表示式 符合一定規則的表示式。2 作用 用於專門操作字串。3 特點 用於一些特定的符號來表示一些 操作。這樣就簡化書寫。所以學習正規表示式,就是在學習一些特殊符號的使用。4 好處 可以簡化對字串的複雜操作。弊端 符號定義越多,正則越長,閱讀性越差。二 基本操作 1 匹配 str...