上一篇:正则表达式模式 | 手把手教你入门Python之八十八
下一篇:正则替换 | 手把手教你入门Python之九十
本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。
正则表达式练习
1、判断用户输入的内容是否是数字,如果是数字转换成为数字类型
import re
num = input('请输入一段数字:')
if re.fullmatch(r'\d+(\.\d+)?', num):
print('是个数字')
print(float(num))
else:
print('不是一个数字')
2、以非数字开头,后面有 字母数字_-组成的长度4到14位的字符串:
r'^\D[a-z0-9A-Z_\-]{3,13}'
3、匹配邮箱
r'^([A-Za-z0-9_\-\.])+@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$
4、匹配手机号
r'^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[05-9]))\d{8}$'
5、匹配身份证号
1XXXXX ~ 9XXXXX 1800~2099 01~09 | 10|11|12 01~29除去10 20 |10|20|30|31 734 X
420606 20 19 09 2 3 398 8
r'^[1-9]\d{5}(18|19|20|)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$'
6、匹配⻋牌号
r'^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$'
7、匹配URL地址
r'((ht|f)tps?):\/\/([\w\-]+(\.[\w\-]+)*\/)*[\w\-]+(\.[\w\-]+)*\/?(\?([\w\-\.,@?^=%&:\/~\+#]*)+)?'
8、匹配QQ号
r'^[1-9][0-9]{4,10}$'
9、匹配微信号
r'^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$'