# 要求:手機號碼必須爲11位數字,以1開頭,第二位爲1或5或8。 import re def verify_mobile(): mob = input("請輸入手機號碼:") ret = re.match(r"1[358]\d{9}", mob) if ret: print("手機號碼匹配正確") else: print("匹配錯誤") verify_mobile()
import re def verify_email(): email = input("請輸入郵箱:") ret = re.match(r'^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+){0,4}@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+){0,4}$', email) if ret: print("郵箱匹配正確") else: print("匹配錯誤") verify_email()
import re def verify_card(): card = input("請輸入身份證:") ret = re.match(r'^([1-9]\d{5}[12]\d{3}(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])\d{3}(\d|X|x))$', card) if ret: print("身份證匹配正確") else: print("匹配錯誤") verify_card()
import re def verify_date(): date = input("請輸入年月日:") ret = re.match(r'^(\d{4}-\d{1,2}-\d{1,2})$', date) if ret: print("日期匹配正確") else: print("匹配錯誤") verify_date()
匹配數字:^[0-9]*$ 匹配n位的數字:^\d{n}$ 匹配零和非零開頭的數字:^(0|[1-9][0-9]*)$ 匹配正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$ 匹配非零的正整數:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$ 匹配非零的負整數:^\-[1-9][]0-9″*$ 或 ^-[1-9]\d*$ 匹配非負整數:^\d+$ 或 ^[1-9]\d*|0$ 匹配非正整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ 匹配浮點數:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ 匹配正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 匹配負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 匹配非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 匹配非負浮點數:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
匹配漢字:^[\u4e00-\u9fa5]{0,}$ 匹配英文和數字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$ 匹配大寫英文字母組成的字符串:^[A-Z]+$ 匹配小寫英文字母組成的字符串:^[a-z]+$ 匹配大小寫英文組成的字符串:^[A-Za-z]+$ 匹配中文、英文、數字包括下劃線:^[\u4E00-\u9FA5A-Za-z0-9_]+$ 禁止輸入含有~的字符:[^~\x22]+
以上是一些比較經常使用到的正則驗證,想要更詳細的學習Python正則表達式能夠看一下這裏:https://www.9xkd.com/1994769508-1.htmlhtml