第8关:重复区间

本博客介绍如何使用正则表达式匹配重复出现的数字内容,包括连续重复2次的数字和重复4到7次的数字。通过Python正则表达式,讲解了重复区间{N}的概念,以及非贪婪模式的使用。任务是编写代码来匹配并输出指定条件的数字子串。
摘要由CSDN通过智能技术生成

任务描述
本关任务:编写一个正则表达式的小程序,该小程序具有以下功能:

  1. 匹配到字符串中重复出现2的数字内容,并打印出其匹配到的列表;
  2. 匹配到字符串中重复出现4次到7次的数字内容,并打印出其匹配到的列表。

相关知识
为了完成本关任务,你需要掌握:

  1. 正则表达式重复区间的表达方法;
  2. Python正则编程。

重复
到目前为止,我们只是学习了关于仅出现一次的字符串匹配,在实际开发过程中,这样肯定不能满足需求,比如要匹配电话号码,比如匹配身份证号,这些都是很多个数字组成的。

如果遇到这样的情况,我们可能期望一个字符组连续匹配好几次。

在正则表达式在一个字符组后加上{N} 就可以表示 {N} 之前的字符组出现N次。举个例子:

a = re.findall(r'[\d]{4}-[\d]{7}','张三:0731-8825951,李四:0733-8794561')  
print(a)  

输出为:

['0731-8825951', '0733-8794561']  

重复区间
可能有时候,我们不知道具体匹配字符组要重复的次数,比如身份证有15位也有18位的。
这里重复区间就可以出场了,语法:{M,N},M是下界而N是上界。
举个例子:

a = re.search
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

-阿呆-

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

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

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

打赏作者

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

抵扣说明:

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

余额充值