一、校驗數字的表達式
1.數字
^[0-9]/*$
2.n位的數字
^/d{n}$
3.至少n位的數字
^/d{n,}$
4.m-n位的數字
^/d{m,n}$
5.零和非零開頭的數字
^(0|[1-9][0-9]/*)$
6.非零開頭的最多帶兩位小數的數字
^([1-9][0-9]/*)+(/.[0-9]{1,2})?$
7.帶1-2位小數的正數或負數
^(/-)?/d+(/./d{1,2})$
8.正數、負數、和小數
^(/-|/+)?/d+(/./d+)?$
9.有兩位小數的正實數
^[0-9]+(/.[0-9]{2})?$
10.有1~3位小數的正實數
^[0-9]+(/.[0-9]{1,3})?$
11.非零的正整數
^[1-9]/d/*$ 或 ^([1-9][0-9]/*){1,3}$ 或 ^/+?[1-9][0-9]/*$
12.非零的負整數
^/-[1-9][]0-9"/*$ 或 ^-[1-9]/d/*$
13.非負整數
^/d+$ 或 ^[1-9]/d/*|0$
14.非正整數
^-[1-9]/d/*|0$ 或 ^((-/d+)|(0+))$
15.非負浮點數
^/d+(/./d+)?$ 或 ^[1-9]/d/*/./d/*|0/./d/*[1-9]/d/*|0?/.0+|0$
16.非正浮點數
^((-/d+(/./d+)?)|(0+(/.0+)?))$ 或 ^(-([1-9]/d/*/./d/*|0/./d/*[1-9]/d/*))|0?/.0+|0$
17.正浮點數
^[1-9]/d/*/./d/*|0/./d/*[1-9]/d/*$ 或 ^(([0-9]+/.[0-9]/*[1-9][0-9]/*)|([0-9]/*[1-9][0-9]/*/.[0-9]+)|([0-9]/*[1-9][0-9]/*))$
18.負浮點數
^-([1-9]/d/*/./d/*|0/./d/*[1-9]/d/*)$ 或 ^(-(([0-9]+/.[0-9]/*[1-9][0-9]/*)|([0-9]/*[1-9][0-9]/*/.[0-9]+)|([0-9]/*[1-9][0-9]/*)))$
19.浮點數
^(-?/d+)(/./d+)?$ 或 ^-?([1-9]/d/*/./d/*|0/./d/*[1-9]/d/*|0?/.0+|0)$
二、校驗字符的表達式
1.漢字
^[/u4e00-/u9fa5]{0,}$
2.英文和數字
^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
3.長度為3-20的所有字符
^.{3,20}$
4.由26個英文字母組成的字符串
^[A-Za-z]+$
5.由26個大寫英文字母組成的字符串
^[A-Z]+$
6.由26個小寫英文字母組成的字符串
^[a-z]+$
7.由數字和26個英文字母組成的字符串
^[A-Za-z0-9]+$
8.由數字、26個英文字母或者下劃線組成的字符串
^/w+$ 或 ^/w{3,20}$
9.中文、英文、數字包括下劃線
^[/u4E00-/u9FA5A-Za-z0-9_]+$
10.中文、英文、數字但不包括下劃線等符號
^[/u4E00-/u9FA5A-Za-z0-9]+$ 或 ^[/u4E00-/u9FA5A-Za-z0-9]{2,20}$
11.禁止輸入含有~的字符
[^~/x22]+
三、特殊需求表達式
1.Email地址
^/w+([-+.]/w+)/*@/w+([-.]/w+)/*/./w+([-.]/w+)/*$
2.域名
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
3.InternetURL
[a-zA-z]+://[^/s]/* 或 ^http://([/w-]+/.)+[/w-]+(/[/w-./?%&=]/*)?$
4.號碼
1.手機號碼
^(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{8}$
2.國內電話號碼(0511-4405222、021-87888822)
/d{3}-/d{8}|/d{4}-/d{7}
3.電話號碼正則表達式(支持手機號碼,3-4位區號,7-8位直播號碼,1-4位分機號):
((/d{11})|^((/d{7,8})|(/d{4}|/d{3})-(/d{7,8})|(/d{4}|/d{3})-(/d{7,8})-(/d{4}|/d{3}|/d{2}|/d{1})|(/d{7,8})-(/d{4}|/d{3}|/d{2}|/d{1}))$)
5.身份證號(15位、18位數字),最后一位是校驗位,可能為數字或字符X
(^/d{15}$)|(^/d{18}$)|(^/d{17}(/d|X|x)$)
6.賬號與密碼
1.帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線)
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
2.密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線)
^[a-zA-Z]/w{5,17}$
3.強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在 8-10 之間)
^(?=./*/d)(?=./*[a-z])(?=./*[A-Z])[a-zA-Z0-9]{8,10}$
4.強密碼(必須包含大小寫字母和數字的組合,可以使用特殊字符,長度在8-10之間)
^(?=./*/d)(?=./*[a-z])(?=./*[A-Z]).{8,10}$
7.時間
1.日期格式
^/d{4}-/d{1,2}-/d{1,2}
2.一年的12個月(01~09和1~12)
^(0?[1-9]|1[0-2])$
3.一個月的31天(01~09和1~31)
^((0?[1-9])|((1|2)[0-9])|30|31)$
8.xml文件
^([a-zA-Z]+-?)+[a-zA-Z0-9]+//.[x|X][m|M][l|L]$
9.中文字符的正則表達式
[/u4e00-/u9fa5]
10.空白行的正則表達式
/n/s/*/r (可以用來刪除空白行)
11.HTML標記的正則表達式
<(/S/*?)[^>]/*>./*?|<./*? /> ( 首尾空白字符的正則表達式^/s/*|/s/*$或(^/s/*)|(/s/*$) (可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式)
12.騰訊QQ號
[1-9][0-9]{4,} (騰訊QQ號從10000開始)
13.中國郵政編碼
[1-9]/d{5}(?!/d) (中國郵政編碼為6位數字)
14.IP地址
((?:(?:25[0-5]|2[0-4]//d|[01]?//d?//d)//.){3}(?:25[0-5]|2[0-4]//d|[01]?//d?//d))
總結
以上所述是小編給大家介紹的re模塊的正則匹配的表達式詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
新聞熱點
疑難解答
圖片精選