Python学习16 正则表达式3 练习题
Posted DQ_CODING
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习16 正则表达式3 练习题相关的知识,希望对你有一定的参考价值。
用户名匹配
1.用户名匹配:由数字、大小写字母、下划线_、中横线-组成,长度为6-12位,不能以数字开头。
import re
username='ab578_-SDF'
result=re.search('^[a-zA-Z_-][0-9a-zA-Z_-]5,12$',username)
print(result)
邮箱
2.验证输入的邮箱:163、126、qq
email1='t_hedq@163.com'
email3='3056166240@qq.com'
email2='13456@126.com'
r=re.compile(r'^[1-9a-zA-Z]\\w1,@(163|126|qq)(\\.com)$')
result1=r.search(email1)
result2=r.search(email2)
result3=r.search(email3)
print(result1)
print(result2)
print(result3)
手机号码
- 验证不是以4、7结尾的11位手机号码
phone='18941112897'
result=re.search(r'\\d10[^47]$',phone)
print(result)
数字
4.匹配0-100之间的数字,(包含0和100)
number='0'
result=re.fullmatch(r'(0|^[1-9]\\d0,2)',number)
print(result)
提取手机号码
5.分别提取电话号码的区号和号码
phone='086-18942897293'
r=re.search('(\\d3)-(\\d11)',phone)
print(r.group(0))
print(r.group(1))
print(r.group(2))
匹配身份证号
6.匹配身份证号
#第一位1-9
#后面5位数字0-9
#年份:1或2开头,后面三位数字0-9
#月份:0开头接1-9或1开头接012
#日期:0开头接1-9或1、2开头接0-9或3开头接0,1
#3位数字0-9
#最后一位为数字或X或x
number='510681200104090627'
result=re.search(r'^[1-9]\\d5[12]\\d3([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])\\d3[0-9xX]$',number)
print(result)
以上是关于Python学习16 正则表达式3 练习题的主要内容,如果未能解决你的问题,请参考以下文章