re模組的正則匹配的表示式詳解

2022-10-06 03:09:11 字數 3488 閱讀 3766

一、校驗數字的表示式

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或無限次 盡可能多的匹配 盡可能少的進行匹配前邊的正規表示式...