常见的正则表达式

常见的正则表达式

1、最简单的正则表达式是普通的字符串,可以匹配自身

2、匹配‘python’, ‘jython’, ‘cython’

'[pjc]ython'

3、匹配一个任意大小写字母或数字

'a-zA-Z0-9'

4、匹配一个任意除‘a’ , ‘b’, 'c’之外的任意字符

'[^abc]'

5、匹配’python’或’perl’

'python|perl''p(ython)|erl'

6、子模式后面加上问号表示可选。 只匹配‘http: //www .python.org’, ‘http: //python.org’, ‘www .python.org’, ‘python.org’

r'(http://)?(www\.)?python\.org'

7、只能匹配所有http开头的字符串

'^http'

8、允许模式重复0次或多次

'(pattern)*'

9、允许模式重复1次或多次

'(pattern)+'

10、允许模式重复m~n次,在书写时注意逗号后面不能有空格

'(pattern){m,n}'

11、允许模式最多重复n次, 最少0次

'(pattern){,n}'

12、允许模式最少重复m次, 最多不限制次数

'(pattern){m,}'

13、匹配多个(包含0个)a或b,后面紧跟一个字母c

'(a|b)*c'

14、匹配以字母a开头后面带一个或多个字母b的字符串

'(a)b{1,}'  等价于  'ab+'

15、匹配长度为5~20的字符串,必须字母开头并且可带字母、数字、‘_’、’.‘的字符串

'^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$'

16、匹配长度为6~20的字符串,可以包含字母数字下划线

'^(\w){6,20}$'

17、检查给定字符串是否为合法的IP地址格式,圆点前要加反斜线,否则可以匹配任意单个字符串

'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$'

18、检查给定字符是否为手机号码格式,只检查格式,不保证手机号一定有效

'^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$'

19、检查给定字符串是否只包含英文字母大小写

'^[a-zA-Z]+$'

20、检查给定字符串是否为合法电子邮箱地址格式

'^\w+@(\w+\.)+\w+$'

21、查找字符串中每个字符的最后一次出现

r'(\w)(?!.*\1)'

22、查找字符串中所有出现次数大于1的字符

r'(\w)(?=.*\1)'

23、检查给定字符是否为最多带有2位小数的正数或负数

'^(\-)?\d+(\.\d{1,2})?$'

24、匹配给定字符串中的常见汉字

'[\u4e00-\u9fa5]'

25、检查给定字符串是否为合法身份证格式

'^\d{18}|\d{15}$'

26、匹配指定日期格式,例如 2022-1-13。

'\d{4}-\d{1,2}-\d{1,2}'

27、检查给定字符串是否为强密码,必须同时包含英文大小写字母、数字、特殊字符(如英文逗号、英文句号、下划线),并且长度必须至少8位。

'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[,._]).{8,}$'

28、如果给定字符串中包含 ‘ “ / ; = % ? 则匹配失败。

'(?!.*[\'\"\/;=%?])'

29、匹配任意字符的两次或多次重复出现

'(.)\\1+'

30、匹配连续出现两次的单词

'((?p<f>\b\w+\b)\s+(?p=f))'

31、匹配AABB形式的成员或者字母组合

'((?p<f>.)(?p=f)(?p<g>.)(?p=g))'

32、匹配连续的数字,并且最后一个数字跟着小写字母

'\d+(?=[a-z]+)'

33、匹配连续的数字,并且最后一个数字后面不能跟着小写字母

'\d+(?![a-z]+)'

34、匹配连续的数字,并且第一个数字的前面是小写字母

'(?<=[a-z])\d+'

35、匹配连续的数字,并且第一个数字前面不能跟着小写字母

'(?<![a-z])\d+'

36、匹配三位数字,而且这三个数字的后面不能是数字

'\d{3}(?!\d)'

37、匹配不包含连续字符串’abc‘的单词

'\b((?!abc)\w)+\b'

38、匹配前面不是小写字母的7位数字

'(?<![a-z])\d{7}'

39、匹配"<span>hello world<span>"中的span和hello world

r'(?<=<(\w{4})>)(.*)(?=<\/\1>)'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.史

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值