一、校驗數字的表示式
1.數字
^[0-9]\*$
2.n位的數字
^\d$
3.至少n位的數字
^\d程式設計客棧$
4.m-n位的數字
^\d$
5.零和非零開頭的數字
^(0|[1-9][0-9]\*)$
6.非零開頭的最多帶兩位小數的數字
^([1-9][0-9]\*)+(\.[0-9])?$
7.帶1-2位小數的正數或負數
^(\-)?\d+(\.\d)$
8.正數、負數、和小數
^(\-|\+)?\d+(\.\d+)?$
9.有兩位小數的正實數
^[0-9]+(\.[0-9])?$
10.有1~3位小數的正實數
^[0-9]+(\.[0-9])?$
11.非零的正整數
^[1-9]\d\*$ 或 ^([1-9][0-9]\*)$ 或 ^\+?[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]$
2.英文和數字
^[a-za-z0-9]+$ 或 ^[a-za-z0-9]$
3.長度為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$
9.中文、英文、數字包括下劃線
^[\u4e00-\u9fa5a-za-z0-9_]+$
10.中文、英文、數字但不包括下劃線等符號
^[\u4e00-\u9fa5a-za-z0-9]+$ 或 ^[\u4e00-\u9fa5a-za-z0-9]$
11.禁止輸入含有~的字元
[^~\x22]+
三、特殊需求表示式
1.email位址
^\w+([-+.]\w+)\*@\w+([-.]\w+)\*\.\w+([-.www.cppcns.com]\w+)\*$
2.網域名稱
[a-za-z0-9][-a-za-z0-9](/.[a-za-z0-9][-a-za-z0-9])+/.?
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$
2.國內**號碼(0511-4405222、021-87888822)
\d-\d|\d-\d
3.**號碼正規表示式(支援手機號碼,3-4位區號,7-8位直播號碼,1-4位分機號):
((\d)|^((\d)|(\d|\d)-(\d)|(\d|\d)-(\d)-(\d|\d|\d|\d)|(\d)-(\d|\d|\d|\d))$)
5.身份證號(15位、18位數字),最後一位是校驗位,可能為數字或字元x
(^\d$)|(^\d$)|(^\d(\d|x|x)$)
6.賬號與密碼
1.帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線)
^[a-za-z][a-za-z0-9_]$
2.密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線)
^[a-za-z]\w$
3.強密碼(必須包含大小寫字母elp**i和數字的組合,不能使用特殊字元,長度在 8-10 之間)
^(?=.\*\d)(?=.\*[a-z])(?=.\*[a-z])[a-za-z0-9]$
4.強密碼(必須包含大小寫字母和數字的組合,可以使用特殊字元,長度在8-10之間)
^(?=.\*\d)(?=.\*[a-z])(?=.\*[a-z]).$
7.時間
1.日期格式
^\d-\d-\d
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\*$) (可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表示式)
12.騰訊qq號
[1-9][0-9] (騰訊qq號從10000開始)
13.中國郵政編碼
[1-9]\d(?!\d) (中國郵政編碼為6位數字)
14.ip位址
((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.)(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
總結本文標題: re模組的正則匹配的表示式詳解
本文位址:
Python正規表示式 內容匹配的re模組
re模組是python的正規表示式模組,有關正規表示式的更多知識參見下一章節 python 正規表示式 下面我們來介紹re模組的常用函式。從string中查詢所有符合pattern正規表示式模式的子串,以這些子串作為列表元素返回乙個列表。引數說明 下面給出了具體的使用示例 coding utf 8 ...
詳解Python正規表示式re模組
正則是處理字串最常用的方法,我們編碼中到處可見正則的身影。正則大同小異,python 中的正則跟其他語言相比略有差異 1 替換字串時,替換的字串可以是乙個函式 2 split 函式可以指定分割次數,這會導致有個坑 3 前項界定的表示式必須定長 下面詳細描述下 re 模組的使用方法,其實,注意上面提到...
re 正規表示式模組
import re 預定義字符集 d 數字 0 9 d 非數字 d s 空白字元 空格 t r n f v s 非空白字元 s w 單詞字元 a za z0 9 w 非單詞字元 w 匹配數量 匹配除換行符以外的任何單個字元 匹配前乙個字元0或無限次 盡可能多的匹配 盡可能少的進行匹配前邊的正規表示式...