手机号码的正则表达式
import re
pattern = "^1[3-8]\d{9}$"
str = "13667865555"
res = re.findall(pattern,str)
print(res)
邮箱的正则表达式--随意邮箱
pattern = "^[a-z0-9][a-z0-9_]+@[a-z0-9_]+\.[a-z0-9_]+"
str = "2345sdsaf__sa@sss.comss"
res = re.findall(pattern,str)
print(res)
身份证号码的正则表达式--仅格式--没有验证作用
分析:
第1位: 1-9 不能以0开头 [1-9]
第2-5位: 0-9 随意数字 \d{5}
年-第1位: 1或者2 [12]
年-第2-4位: 0-9 000-999 [0-9]{3}
月 : 第1个为0时第2个为1-9,第1个为1时第2个为0-2 (0[1-9])|(1[0-2])
日 : 第1个为0时第2个为1-9,第1个为1时第2个为0-9,第1个为2时第2个为0-9,第1个为3时第2个为0-1 (0[1-9])|([12]\d)|(3[01])
最后四位: 前3位: 0-9 最后1位: 可以为X,x,0-9 X|x|\d
pattern =r"^([1-9]\d{5}[12]\d{3}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(X|\d))$"
idNum = "350124198310131229"
res = re.findall(pattern,idNum)
print(res)