正規表示式

2022-05-21 19:12:12 字數 3474 閱讀 4484

正則待匹配字元

匹配結果

說明[0123456789]

true

在乙個字元組裡列舉合法的所有字元,字元組裡的任意乙個字元

和"待匹配字元"相同都視為可以匹配

[0123456789]

afalse

由於字元組中沒有"a"字元,所以不能匹配

[0-9]

true

也可以用-表示範圍,[0-9]就和[0123456789]是乙個意思

[a-z]

strue

同樣的如果要匹配所有的小寫字母,直接用[a-z]就可以表示

[a-z]

btrue

[a-z]就表示所有的大寫字母

[0-9a-fa-f]

etrue

可以匹配數字,大小寫形式的a~f,用來驗證十六進製制字元

**說明

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

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

\s匹配任意的空白符

\d匹配數字

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

^匹配字串的開始

$匹配字串的結束

a|b匹配字元a或b

()匹配括號內的表示式,也表示乙個組

\s所指的空白符包括space \t 以及\n

\b*匹配以*開頭的單詞,*\b則匹配以*結尾的單詞

正則待匹配字元

匹配結果

說明海.

海燕海嬌海東

海燕海嬌海東

匹配所有"海."的字元

^海.海燕海嬌海東

海燕只從開頭匹配"海."

海.$海燕海嬌海東

海東只匹配結尾的"海.$"

**/語法說明*

重複零次或更多次

+重複一次或更多次

?重複零次或一次

重複n次

重複n次或更多次

重複n到m次

正則待匹配字元

匹配結果

說明李.?

李傑和李蓮英和李二棍子

李傑李蓮

李二

?表示重複零次或一次,即只匹配"李"

後面乙個任意字元

李.*李傑和李蓮英和李二棍子

李傑和李蓮英和李二棍子

*表示重複零次或多次,即匹配"李"

後面0或多個任意字元

李.+李傑和李蓮英和李二棍子

李傑和李蓮英和李二棍子

+表示重複一次或多次,即只匹配"李"

後面1個或多個任意字元

李.李傑和李蓮英和李二棍子

李傑和李蓮英

李二棍

匹配1到2次任意字元

注意:前面的*,+,?等都是貪婪匹配,也就是盡可能匹配,後面加?號使其變成惰性匹配

正則待匹配字元

匹配結果

說明李.*?

李傑和李蓮英和李二棍子李李

李惰性匹配

**/語法

說明\w

匹配任意不是字母,數字,下劃線,漢字的字元

\s匹配任意不是空白符的字元

\d匹配任意非數字的字元

\b匹配不是單詞開頭或結束的位置

[^x]

匹配除了x以外的任意字元

[^aeiou]

匹配除了aeiou這幾個字母以外的任意字元

[ ] 只要出現在中括號內的內容都可以被匹配

[^] 只要不出現在中括號中的內容都可以被匹配

有一些有特殊意義的元字元進入字元組中會回覆它本來的意義 :.| [ ] ( )

正則待匹配字元

匹配結果

說明李[傑蓮英二棍子]*

李傑和李蓮英和李二棍子

李傑李蓮英

李二棍子

表示匹配"李"字後面[傑蓮英二棍子]的字元任意次

李[^和]*

李傑和李蓮英和李二棍子

李傑李蓮英

李二棍子

表示匹配乙個不是"和"的字元任意次

[\d]

456bdha345

63

表示匹配任意乙個數字,匹配到4個結果

[\d]+

456bdha3

4563

表示匹配任意個數字,匹配到2個結果

身份證號碼是乙個長度為15或18個字元的字串,如果是15位則全部

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

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

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