功能测试常用6种方法_python3中6种常用正则表达式

前言:在使用python开发中,有时候经常需要对一些常用的字段进行匹配校验;例如:邮箱、手机号、身份证号、域名、邮编、空格处理等等,这个用re模块的正则表达式就可以很好校验出来;

本篇教程就来说说常用6种正则表达式表示方法

环境:Python3、sublime text3

1、Email地址

1)说明:在网站注册页面上常常会出现输入用户名、密码及Email等,当输入的邮箱不含“@”符号,网页就会提示输入Email地址错误,这个处理过程其实就是一个正则表达式的处理,下面是我们对这些特殊需求的表达式进行总结:

2)使用方法:^w+([-+.]w+)*@w+[-.]w+*.w+([-.]w+)*$

import rex="zhangsan@gmail.com"y="zhangsangmail.com"z="zhangsangmail"xr=re.match('^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$',x)print('匹配正确:',xr.group())yr=re.match('^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$',y)print('匹配不正确:',yr.group())zr=re.match('^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$',z)print('匹配不正确:',zr.group())
93665669ed0fb02217b93bb7fb27d9b1.png

2、域名

1)说明:我们经常看到的域名是baidu.com,csdn.net,10086.cn等就是所谓的域名

2)使用方法:'(?i)^([a-z0-9]+(-[a-z0-9]+)*.)+[a-z]{2,}$

import rex="www.baidu.com"y="www.csdn.net"z="www.10086.cn"t="aabbcc.d"xr=re.match('(?i)^([a-z0-9]+(-[a-z0-9]+)*.)+[a-z]{2,}$',x)print('匹配正确:',xr.group())yr=re.match('(?i)^([a-z0-9]+(-[a-z0-9]+)*.)+[a-z]{2,}',y)print('匹配正确:',yr.group())zr=re.match('(?i)^([a-z0-9]+(-[a-z0-9]+)*.)+[a-z]{2,}$',z)print('匹配正确:',zr.group())tr=re.match('(?i)^([a-z0-9]+(-[a-z0-9]+)*.)+[a-z]{2,}$',t)print('匹配正确:',tr.group())
11f1bfbacb52e06304e683822506d520.png

3、手机号码

1)说明:中国的手机号码为11位,并且一般是以12、14、15、17、18等开头,因此可以确定的是开头为1,第二位为3,4,5,7,8等

2)使用方法:1[3458]d{9}或^(13d|14[5|7]|15d|166|17[3|6|7]|18d)d{8}$

import rex="15888889999"y="12345671189"xr=re.search("^(13d|14[5|7]|15d|166|17[3|6|7]|18d)d{8}$",x)yr=re.search("^(13d|14[5|7]|15d|166|17[3|6|7]|18d)d{8}$",y)print("正确手机号:",xr.group())print("不正确的手机号:",yr.group())
e642467981ed514595982bdad01b971e.png

4、身份证号

1)说明:一般身份证号为15位或18位,15位是以xxxxxxYYMMddxxx形式出现,前六位表示地区,YY表示年份,MM表示月份,dd表示天数,xx表示顺序码,最后的x表示校验码

2)使用方法:

/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$

import rex="360722195511292166"y="3602011959022018889"xr=re.search("/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$",x)yr=re.search("/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$",y)print("正确身份证号:",xr.group())print("不正确的身份证号:",yr.group())
c4cde26ff05e494fa78e79ccc043765a.png

5、邮政编码

1)说明:中国的邮政编码一般是6位

2)使用方法:[1-9]d{5}(?!d)

import rex="12332 233433 34565 532336 "xr=re.findall('[1-9]d{5}(?!d)',x)print ("邮政编码匹配:",xr)
35d735c2c87e680dbf81a26ce911346d.png

6、空白处理

1)说明:在文本处理中,常常需要进行删除空白行、删除行首尾空白等操作

2)使用方法:空白行的正则表达式为s*,首尾空白字符的正则表达式为^s*|s*$或(^s*)|(s*$)

import rex="    好好学习,天天向上,很重要!!"y="学习python   "xr=re.sub('s*|s*','',x)yr=re.sub('(^s*)|(s*$)','',y)print ("开头空格处理:",xr)print ("结尾空格处理:",yr)
9097724d49aed41ba4b7a401b46bdb87.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值