码迷,mamicode.com
首页 > 其他好文 > 详细

18 练习题:正则表达式

时间:2020-07-17 09:40:20      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:nan   划线   用户   pre   负数   imp   电话号码   int   import   

# 1、匹配整数或者小数(包括正数和负数)
^-?\d*0?(\.\d*[1-9])?$


# 2、匹配年月日日期 格式2018-12-6
(20|19)\d{2}-(0[1-9]|1[0-2])-([0-2][0-9]|3[0-1])


# 3、匹配qq号
[1-9]\d{8}\d{0,2}


# 4、11位的电话号码
1[3-9]\d{9}


# 5、长度为8-10位的用户密码 : 包含数字字母下划线
\w{8,11}


# 6、匹配验证码:4位数字字母组成的
[0-9a-zA-Z]{4}


# 7、匹配邮箱地址
\w+@\w+\.com


# 8、从类似
# <a>wahaha</a>
# <b>banana</b>
# <h1>qqxing</h1>
# 这样的字符串中,
# 1)匹配出wahaha,banana,qqxing内容。
# 2)匹配出a,b,h1这样的内容
import re
ret = re.findall(‘<\w+>(\w+)</\w+>‘, ‘<a>wahaha</a>‘)
print(ret)



# 9、1-2*((60-30+(-40/5)(9-25/3+7/399/42998+10568/14))-(-4*3)/(16-3*2))
# 1)从上面算式中匹配出最内层小括号以及小括号内的表达式
import re
ret = re.findall(‘\([^()]+\)‘, ‘1-2*((60-30+(-40/5)(9-25/3+7/399/42998+10568/14))-(-4*3)/(16-3*2))‘)
print(ret)  # [‘(-40/5)‘, ‘(9-25/3+7/399/42998+10568/14)‘, ‘(-4*3)‘, ‘(16-3*2)‘]


# 10、从类似9-25/3+7/399/42998+10568/14的表达式中匹配出从左到右第一个乘法或除法
import re
ret = re.findall(‘\d+[/*]\d+‘, ‘9-25/3+7/399/42998+10568/14‘)
print(ret[0])  # 25/3

18 练习题:正则表达式

标签:nan   划线   用户   pre   负数   imp   电话号码   int   import   

原文地址:https://www.cnblogs.com/raygor/p/13326413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!