正規表示式

2021-07-10 08:12:18 字數 2043 閱讀 6979

matches("\\d")    規定數字的長度

數量詞:

?      一次或者沒有

*        零次或者多次

+       一次或者多次

恰好n次

至少n次

至少n次,不超過m次

字元類:

[1-9]

範圍1到9

[a-za-z]

大小寫字母,中間沒符號間隔

[^abc]

任何除了abc的字元

[a-d[m-p]]

a到d或者m到p(並集)

[a-z&&[def]]

d、e或者f(交集)

預定義字元:

.任何字元

\d數字[0-9]

\d非數字([^0-9])

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

非單詞字元([^\w]) \s

空白字元([\t\n\xob\f\r]) \s

非空白字元([^\s])

邊界匹配器:

^

行的開頭 $

行的結尾 \b

單詞邊界

\\b\\w\\b

以兩邊空格為界,長度為2的單詞

pattern類:(正規表示式的編譯表示形式)

pattern.compile("表示式")

將給定的正規表示式編譯到模式中,返回乙個pattern類物件p

p.matcher(要匹配的字元)

返回乙個matcher(新匹配器)

matcher.find()

是否找到有符合的字元,返回boolean

matcher.group()

返回符合的字串

string中正則的使用:

string.matches("正規表示式") 

匹配正規表示式

string.split("正規表示式")

(.)\\1 

括號是乙個分組,1為重複第一組

(.)(\\d)\\1\\2+

有兩組,1為重複第一組,2+重複第二組乙個或者多個

string.replaceall("正規表示式",字串)

("\\d","#")

連續3個或以上的數字替換成「#」

("(.)\\1+","#")

重疊字元替換成「#」

("(.)\\1+","$1")重疊字元換成單個($符意義是使用分組的字元)

正規表示式 正規表示式 總結

非負整數 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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...