實用正則表達式快速參考
檢查數字
-
數字: ^[0-9]*$
-
n 位數: ^\d{n}$
-
至少 n 位數字: ^\d{n,}$
-
m~n 位數字: ^\d{m,n}$
-
以零和非零開頭的數字: ^(0|[1-9][0-9]*)$
-
以非零開頭且最多兩位小數的數字: ^([1-9][0-9]*)+(.[0-9]{1,2})?$
-
帶 1-2 位小數的正數或負數: ^(\-)?\d+(\.\d{1,2})?$
-
正數、負數和小數: ^(\-|\+)?\d+(\.\d+)?$
-
非零正整數: ^[1-9]\d*$ or ^([1-9][0-9]*){1,3}$ or ^\+?[1-9][0-9]*$
-
非零負整數: ^\-[1-9][]0-9"*$ or ^-[1-9]\d*$
-
正浮點數: ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ or ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
-
負浮點數: ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ or ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
檢查字符
-
英文字符: ^[A-Za-z]+$
-
長度為 3-20 的所有字符: ^.{3,20}$
-
由 26 個英文字母組成的字符串: ^[A-Za-z]+$
-
由 26 個小寫英文字母組成的字符串: ^[a-z]+$
-
由數字和 26 個英文字母組成的字符串: ^[A-Za-z0-9]+$
-
由數字、26 個英文字母或下劃線組成的字符串: ^\w+$ or ^\w{3,20}
-
.*
?匹配任何字符,除了?\n
特殊表達
-
電子郵件地址: ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
-
域名: [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
-
網址: [a-zA-z]+://[^\s]* or ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ or (?:(?:http:\/\/)|(?:https:\/\/))?(?:[\w](?:[\w\-]{0,61}[\w])?\.)+[a-zA-Z]{2,6}(?:\/)
-
電話號碼(“XXX-XXXXXXX”、“XXXX-XXXXXXXX”、“XXX-XXXXXXX”、“XXX-XXXXXXXX”、“XXXXXXX”和“XXXXXXXX”): ^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
-
身份證號碼(15位、18位): ^\d{15}|\d{18}$
-
短 ID 號(數字,字母 x 結尾): ^([0-9]){7,18}(x|X)?$ or ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
-
賬號是否合法(以字母開頭,允許 5-16 個字節,允許字母數字下劃線): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
-
密碼(以字母開頭,長度在 6-18 之間,只能包含字母、數字和下劃線): ^[a-zA-Z]\w{5,17}$
-
強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在 8-10 之間): ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
-
日期格式: \d{4}(?:-|\/|.)\d{1,2}(?:-|\/|.)\d{1,2}
-
一年中的 12 個月(01~09 和 1~12): ^(0?[1-9]|1[0-2])$
-
一個月的 31 天(01~09 和 1~31): ^((0?[1-9])|((1|2)[0-9])|30|31)$
-
XML 文件: ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
-
IP 地址: ((?:(?:25[0–5]|2[0–4]\d|[01]?\d?\d)\.){3}(?:25[0–5]|2[0–4]\d|[01]?\d?\d))
-
驗證 IP-v6 地址: (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
-
子網掩碼: ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
希望上面的 Python?regex
?表達式對你有用!
鏈接:https://python.plainenglish.io/python-useful-regex-quick-reference-86b287db5d0c
(版權歸原作者所有,侵刪)