正则表达式练习

1、匹配整数或者小数(包括正数和负数)
# ret=re.findall('-?\d+(?:.\d+)?','3132.3')
# # print(ret)
2、匹配年月日日期 格式2018-12-6
# ret=re.findall('[1-9]\d{0,3}-(?:1[0-2]|0?[1-9])-(?:3[01]|[12]\d|0?[1-9])','2018-12-6')
# print(ret)
3、匹配qq号
# ret =re.findall('[1-9]\d{4,11}','13123123')
# print(ret)
4、11位的电话号码
# ret =re.findall('1[3-9]\d{9}','13312313642')
# print(ret)
5、长度为8-10位的用户密码 : 包含数字字母下划线
# ret=re.findall('\w{8,10}','dsa_2312')
# print(ret)
6、匹配验证码:4位数字字母组成的
# ret=re.findall('[\da-zA-Z]{4}','21d5')
# print(ret)
7、匹配邮箱地址
# 邮箱规则
# @之前必须有内容且只能是字母(大小写)、数字、下划线(_)、减号(-)、点(.)
# @和最后一个点(.)之间必须有内容且只能是字母(大小写)、数字、点(.)、减号(-),且两个点不能挨着
# 最后一个点(.)之后必须有内容且内容只能是字母(大小写)、数字且长度为大于等于2个字节,小于等于6个字节
# ret=re.findall('[\w\-\.]+@(?:[\da-zA-Z\-]+.)+[\da-zA-Z]{2,6}',r'zhmsh1992@qq.com')
# print(ret)
8、从类似
<a>wahaha</a>
<b>banana</b>
<h1>qqxing</h1>
这样的字符串中,
1)匹配出wahaha,banana,qqxing内容。
# ret=re.search('<(\w+)>(.*?)</\w+>','<a>wahaha</a>')
# print(ret.group(2))
2)匹配出<a>,<b>,<h1>这样的内容
# ret=re.search('(<\w+>)(.*?)</\w+>','<a>wahaha</a>')
# print(ret.group(1))
9、1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))
从上面算式中匹配出内部没有小括号的子表达式
# ret=re.findall('\([^()]+\)','1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))')
# print(ret)
10、从类似9-2*5/3+7/3*99/4*2998+10*568/14的表达式中匹配出第一个乘法或除法
ret=re.findall('(\d+[*/]\d+)+','9-2*5/3+7/3*99/4*2998+10*568/14')
print(ret)

 

转载于:https://www.cnblogs.com/pythonz/p/9964631.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值