18 练习题:正则表达式
Posted raygor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了18 练习题:正则表达式相关的知识,希望对你有一定的参考价值。
# 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 练习题:正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
通过 Java 正则表达式提取 semver 版本字符串的片段