Java常用API—Regex__JAVA

來源:互聯網
上載者:User
一、引言

什麼是Regex:可以使用單個字串表示的規則。最通用的Regex校正電子郵箱的字串為:^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$,而電子郵箱也是一個字串,從而實現一個字串對另一個字串的匹配校正。在實際開發中,Regex通常被用來檢查某些字串是否合規,例如:使用者名稱、密碼、手機號……。


二、Regex的文法規則

1.    API文檔中:java.util.regex.Pattern      實現的介面:Serializable

2.    Regex區分大小寫字母。

3.    字元與其含義

字元

含義

例子

x

字元x

“a”,需要匹配的字串內容就是“a”

\

逸出字元

“\t” 定位字元, “\n” 分行符號 ,

“\r” 斷行符號符,“\\” 反斜線\

[abc]

字元a|b|c其中一個

“a”

[^abc]

上面取反

“t”

[a-zA-Z]

一個大寫或小寫字母

“a”

[0-9]

一個數字

“0”

[a-zA-Z_0-9]

一個字母或數字或“_”

“9”

\d

預定義字元類 [0-9]

“0”

\w

預定義字元類

[a-zA-z_0-9]

“y”

^

行的開頭

^[abc][0-9]$ 需要匹配的內容從[abc]這個位置開始

$

行的結尾

需要匹配的內容以[0-9]結束

\b

邊界匹配器-單詞邊界

“\b[abc]\b”a|b|c的左右兩邊需要的是非單詞字元[a-zA-Z_0-9]

x?

x出現一次或沒有出現

“a?”一個字元a,或一個a都沒有

x*

x出現多次或沒有出現

“a*”多個字元a,或一個a都沒有

x+

x出現一次或多次

“a+”一個字元a或多個字元a

x{n}

x出現恰好n次

“a{3}”字元a出現3次

x{n,}

x至少出現n次

“a{3,}”字元a至少出現3次

x{n,m}

x至少出現n次,但不超過m次

“a{3,6}”字元a至少出現3次,但不超過6次


三、Regex規則匹配練習

1.    [0-9]{6,12}       長度為6位到12位的數字

2.    1[34578][0-9]{9}      第1位為1,第2位為3或4或5或7或8,後面還有9個數字

3.    a*b   多個a後面跟著b結尾,或者a沒出現以b結尾    “aaab”true “abc”false


四、String類中設計Regex的常用方法

1.    boolean matches(String regex)    告知此字串是否匹配給定的Regex

2.    String split(Stringregex)       根據給定Regex的匹配拆分此字串,拆分後放在String[]數組中

3.    String replaceAll(String regex,Stringreplacement)使用給定replacement替換此字串所有匹配給定的Regex的子字串

Demo:

結果:

五、數字相關Regex

1.    匹配正整數:“\\d+”

2.    匹配正小數:“\\d+\\.\\d+”

3.    匹配負整數:“-\\d+”

4.    匹配負小數:“-\\d+\\.\\d+”

5.    匹配保留兩位小數的正數:“\\d+\\.\\d{2}“

9.    匹配保留1-3位小數的正數:“\\d+\\.\\d{1,3}“

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.