正則表達式總結(jié)

元字符

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

\w 匹配字母數(shù)字下劃線或者中文

\d 匹配數(shù)字

\s 匹配空白

\b 匹配開始或者結(jié)束

^ 匹配字符串的開始

$ 匹配字符串的結(jié)束

常用的限定符

* 重復(fù)零次或更多次

+ 重復(fù)一次或更多次

? 重復(fù)零次或一次

{n} 重復(fù)n次

{n,} 重復(fù)n次或更多次

{n,m} 重復(fù)n到m次

常用的反義代碼

\W匹配任意不是字母,數(shù)字,下劃線,漢字的字符

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

\D匹配任意非數(shù)字的字符

\B匹配不是單詞開頭或結(jié)束的位置

[^x]匹配除了x以外的任意字符

[^aeiou]匹配除了aeiou這幾個字母以外的任意字符

常用分組語法

捕獲

(exp)匹配exp,并捕獲文本到自動命名的組里

(?exp)匹配exp,并捕獲文本到名稱為name的組里,也可以寫成(?'name'exp)

(?:exp)匹配exp,不捕獲匹配的文本,也不給此分組分配組號

零寬斷言

(?=exp)匹配exp前面的位置

(?<=exp)匹配exp后面的位置

(?!exp)匹配后面跟的不是exp的位置

(?<!exp)匹配前面不是exp的位置

注釋

(?#comment)這種類型的分組不對正則表達式的處理產(chǎn)生任何影響,用于提供注釋讓人閱讀

懶惰限定符

*?重復(fù)任意次,但盡可能少重復(fù)

+?重復(fù)1次或更多次,但盡可能少重復(fù)

??重復(fù)0次或1次,但盡可能少重復(fù)

{n,m}?重復(fù)n到m次,但盡可能少重復(fù)

{n,}?重復(fù)n次以上,但盡可能少重復(fù)

常用正則表達式總結(jié)

中文字符? [\u4e00-\u9fa5]

QQ號 ^[1-9]\d{4,9}$

手機號 ^1[345789]\d{9}$

email ?^.+@.+$

? ? ? ? ? \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

身份證號?

1、15位? (1)1~6位為地區(qū)代碼

? ? ? ? ? ? ? ?(2)7~8位為出生年份(2位),9~10位為出生月份,11~12位為出生日期

? ? ? ? ? ? ? ?(3)第13~15位為順序號

^[1-9]\d{7}(0\d|1[0-2])([012]\d|3[01])\d{3}$

2、18位

1-2位省、自治區(qū)、直轄市代碼;3-4位地級市、盟、自治州代碼;5-6位縣、縣級市、區(qū)代碼;7-14位出生年月日,比如19670401代表1967年4月1日;15-17位為順序號,其中17位(倒數(shù)第二位)男為單數(shù),女為雙數(shù)?18位為校驗碼,0-9和X。

^[1-9]\d{5}[1-2]\d{3}(0\d|1[0-2])([012]\d|3[01])\d{3}(\d|[Xx])$

URL網(wǎng)址 [a-zA-z]+://[^\s]*

IP地址 (2[0-4]\d|25[0-5]|\[01]?\d?\d?\.){3}(2[0-4]\d|25[0-5]|\[01]?\d?\d?)


匹配特定數(shù)字:

^[1-9]\d*$    //匹配正整數(shù)

^-[1-9]\d*$   //匹配負(fù)整數(shù)

^-?[1-9]\d*$   //匹配整數(shù)

^[1-9]\d*|0$  //匹配非負(fù)整數(shù)(正整數(shù) + 0)

^-[1-9]\d*|0$   //匹配非正整數(shù)(負(fù)整數(shù) + 0)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮點數(shù)

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配負(fù)浮點數(shù)

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮點數(shù)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非負(fù)浮點數(shù)(正浮點數(shù) + 0)

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮點數(shù)(負(fù)浮點數(shù) + 0)

匹配特定字符串:

^[A-Za-z]+$  //匹配由26個英文字母組成的字符串

^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串

^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串

^[A-Za-z0-9]+$  //匹配由數(shù)字和26個英文字母組成的字符串

^\w+$  //匹配由數(shù)字、26個英文字母或者下劃線組成的字符串

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容