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 版本字符串的片段

全网最全正则表达式系统讲解,实战练习,豆瓣案例解析(附讲解源代码)

Java正则表达式详解+练习

python成长之路第三篇_正则表达式

python成长之路第三篇_正则表达式

text 正则表达式片段