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)

手机号码

  1. 验证不是以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 练习题的主要内容,如果未能解决你的问题,请参考以下文章

《python核心编程》——正则表达式学习笔记(课后练习)

python模块练习二—使用正则表达式实现计算器的功能

Python实战之正则表达式RE/re学习笔记及简单练习

3 万+Star 的正则表达式教程,支持在线练习

python成长之路第三篇_正则表达式

python成长之路第三篇_正则表达式