正規表示式基礎

2022-06-18 04:36:19 字數 1640 閱讀 3174

正規表示式是一種被用於從文字中檢索符合某些特定模式的文字。

1. 元字元:

元字元是構造正規表示式的基本元素:

元字元說明

.匹配除換行符以外的任意字元

\w匹配字母或數字或下劃線或漢字

\s匹配任意的空白字元

\d匹配數字

\b匹配單詞的開始或結束

^匹配字串的開始

$匹配字串的結束

匹配有abc開頭的字串:

\babc 或著 ^abc

匹配8位數字的qq號碼:

^\d\d\d\d\d\d\d\d$

匹配以155開頭的11位數字的手機號碼:

^155\d\d\d\d\d\d\d\d$

2. 重複限定符

為了避免重複地書寫元字元,引入重複限定符。

語法說明

*重複0次或更多次

+重複1次或更多次

?重複0次或1次

重複n次

重複n次或更多次

重複n到m次

使重複限定符對之前的正規表示式進行改造:

匹配8位數字的qq號碼:

^\d$

匹配1開頭11位數字的手機號碼:

^1\d$

匹配銀行卡號是14~18位的數字:

^\d$

匹配以a開頭的,0個或多個b結尾的字串

^ab*$

3. 分組

從上節的例4可以看到,限定符作用在左邊最近的乙個字元。如果想要ab同時被限定,應該怎麼辦呢?

正規表示式中使用小括號()來分組,即將括號中的內容作為乙個整體。

例:匹配包含0到多個ab字串

^(ab)*$

4. 轉義
使用在這些限定符前加\,使元字元、限定符或關鍵字轉移成普通字元。

例:匹配以(ab)開頭的字串

^(\(ab\))*$

5. 條件或
正規表示式使用符號 | 來表示或,當滿足任何乙個條件是,都會當做是匹配成功。

例:匹配所有聯通的手機號

^(130|131|132|155|156|185|186|145|176)\d$

6. 區間
正規表示式使用 來表示區間條件。

限定0到9:[0-9]

限定a到z:[a-z], [a, z]

限定某些數字[165]

因此,前例可以改寫為:

^((13[0-2]) | (15[5-6]) | (15[5-6]) | 145|176)\d$

正規表示式 1 正規表示式基礎

1.正規表示式基礎 正規表示式描述了一種字串匹配的模式,即可以使使用者通過一系列普通字元或特殊字元構建能夠明確描述文字字串的匹配模式,可以用來檢查某個字串是否含有某種子字串,將匹配的子字串做替換或者從某個字串中取出符合某個條件的子字串等。1.1 正規表示式的基本結構 乙個正規表示式就是由普通字元 如...

正規表示式基礎

限定符 d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d...

正規表示式基礎

元字元 描述 匹配任何單個字元。例如正規表示式r.t匹配這些字串 rat rut r t,但是不匹配root。匹配行結束符。例如正規表示式weasel 能夠匹配字串 he s a weasel 的末尾,但是不能匹配字串 they are a bunch of weasels.匹配一行的開始。例如正規...