python学习——正则表达式练习

1、匹配整数或者小数(包括正数和负数)

-?\d+.\d+|-?\d+

-?\d+(\.\d+)?

 

2、匹配年月日日期 格式2018-12-6

#找出匹配规则:月1-9,10-12 日1-9,10-29,30-31

^[1-9]\d{0,3}-(1[0-2]|0?[1-9])-(3[01]|[12]\d|0?[1-9])$

 

3、匹配qq号

[1-9]\d{4,11}

 

 

4、11位的电话号码

1[3-9]\d{9}

 

 

5、长度为8-10位的用户密码 : 包含数字字母下划线

\w{8,10}

 

 

6、匹配验证码:4位数字字母组成的

[\da-zA-Z]{4}

 

 

7、匹配邮箱地址

通用邮箱规则

@之前必须有内容且只能是字母(大小写)、数字、下划线(_)、减号(-)、点(.)

@和最后一个点(.)之间必须有内容且只能是字母(大小写)、数字、点(.)、减号(-),

且两个点不能挨着 最后一个点(.)之后必须有内容且内容只能是字母(大小写)、

数字且长度为大于等于2个字节,小于等于6个字节

 

[0-9a-zA-Z][\w\-.]+@[0-9a-zA-Z\-]+(\.[0-9a-zA-Z\-]+)*\.[a-zA-Z]{2,6}

 

8、从类似

\<a\>wahaha\

\<b\>banana\

\<h1\>qqxing\

这样的字符串中,

1)匹配出wahaha,banana,qqxing内容。

[a-z]{6} >\w+<     #配合python语言使用,有些时候你要匹配的内容和你不想匹配的内容符合的正则规则是一样的

2)匹配出a,b,h1这样的内容

<\w+>     #配合python语言使用

 

 

9、1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))

从上面算式中匹配出内层没有其他小括号的表达式

\([^()]+\)

 

 

10、从类似9-1000/3+7/3*99/4*2998+10*568/14的表达式中匹配出从左到右第一个乘法或除法

\d+[*/]\d+               #需要多次匹配计算才能解决

posted @ 2019-08-13 10:27  陪伴is最长情的告白  阅读(680)  评论(0)    收藏  举报