任务描述
本关任务:使用正则表达式重复速写的功能编写一个小程序,该小程序能根据需求能重复匹配字符串中多个字符,并输出内容。
相关知识
为了完成本关任务,你需要掌握:

1.正则表达式重复基本知识;
2.正则表达式开闭区间的基本知识;
3.正则表达式重复速写的方法。

开闭区间

在实际生活中,我们经常会遇到一种场景,我们知道此处会填写什么格式,但是我们不确定填写的内容。比如说每月支出,我们知道此处一定是数字,但是不确定这个月支出了多少钱,是3位数,还是4位数,说不定这个月就花了10个亿。这时候我们可以用开区间来表示此范围,如下所示:

a = re.search(r'[\d]{1,}','我这个月花了:5元')
print(a)

输出为:

<re.Match object; span=(7, 8), match='5'>

速写

在正则表达式中,我们可以通过开闭区间来应对此种重复次数没有边界的场景。但是如此常见的需求,为什么不简单一点用一个符号表示出来了,每次都这样写不累么?是的,不仅累而且影响阅读,因此在正则表达式中,推出了2个符号:

符号 含义
‘+’ 重复匹配1个或多个
‘*’ 重复匹配0个或多个

重复符号 +
符号+用来表示重复一次到无数次,如下示范:

a = re.findall(r'[\d]+','0731-8859456')
print(a)

执行结果输出如下:

['0731', '8859456']

重复符号 *
符号*用来表示重复 0次到无数次,如下示范:

a = re.findall(r'[\d]*','0731-8859456')
print(a)

执行结果输出如下:

['0731', '', '8859456', '']

为什么这一次的输出多了两个’‘?
因为在匹配-与末尾的字符时,没有匹配到一个数字,但是我们匹配到了0个数字,因此输出了空的字符串’'。

编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,匹配并输出符合如下要求的字符串:

  1. 重复数字5次及以上的子字符串;
  2. 重复数字1次及以上的子字符串。

测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:0731-8859456;
预期输出:

['8859456']
['0731', '8859456']
# coding=utf-8import reinput_str = input()
# 1、基于贪心模式匹配字符串中连续出现5个数字以上的子字符串,并存储到变量a。########## Begin ##########
a = re.findall(r'[\d]{5,}',input_str)  ########## End ##########
print(a)# 2、匹配字符串中都为数字的子字符串,并存储到变量b。
########## Begin ##########
b = re.findall(r'[\d]+',input_str)  ########## End ##########
print(b)

第9关:开闭区间与速写相关推荐

  1. P5568 [SDOI2008]校门外的区间(离散数学应用+线段树+开闭区间处理)(校门三部曲)难度⭐⭐⭐⭐

    校门三部曲,总算完结了!完结散花! 难度呈阶梯状,都可以用线段树解决. 第一部 P1047 校门外的树(线段树优化)难度⭐⭐ 第二部 P1276 校门外的树(增强版)(线段树)校门三部曲难度⭐⭐⭐ 第 ...

  2. Java判定一个数值是否在指定的开闭区间范围内

    对于开闭区间,在数学中的表示方式通常为 () 和 [],小括号代表开放区间,中括号代表封闭区间,而它们的区别主要在于是否包含 = 等于号,开闭区间通常会分为以下一些情形: (1, 10):代表 1 & ...

  3. C语言生成开区间ab内随机数,javascript math.random()生产范围随机数开闭区间问题

    1. 开闭区间 这个首先我们得弄明白 Math.random() 的范围和开闭区间问题吧?文档是有说明的,它是 [0, 1) 区间的. 2. 区间的移动和缩放 平移使用加减,缩放乘以系数.所以: 第一 ...

  4. python图像开闭区间_自动开闭器不良故障案例分析

    问题:怎样才能每天收到这种文章? 答案:点击上方蓝色字体,再点击关注即可! 一.故障概况 某年10月26日13:00分,某站的16/18号道岔在排列进路时,从定位操纵到反位时,反位无表示. 二.监测数 ...

  5. 高数 | 开 闭区间上连续函数的性质及证明

    一.有界性定理 函数的上界和下界的绝对值不一定相等. 函数在某区间上不是有界就是无界,二者必属其一: 要证明f(x)在X上有界,必须找到一个M>0,使任意x属于X都有 |f(x)|<=M: ...

  6. 高数 | 积分中值定理的开闭区间、积分第一中值定理及其推广

    总结: 闭区间用 介值定理 开区间用 柯西中值定理 或 拉格朗日中值定理. (注意:开区间的证明方法可以用来证明闭区间,反之,闭区间的证明方法不可以用来证明开区间!!) 一.定理内容(闭区间)-- 介 ...

  7. 重启模块与及关开邮件存储设置功能页面-PHP-shell-py

    邮件系统几百台,每台负责 grep -P "^ip=\d.\d." /home/mymail/newconf/hosts.conf -c 465 每台机器负责启动的模块又是不一样的 ...

  8. JAVA判断数字是否在指定开闭区间内

    import javax.script.ScriptEngine; import javax.script.ScriptEngineManager;public class IntervalUtil ...

  9. Python 学习归纳

    Python 知识归纳 一.基本知识 二.常用库 三.拓展库 1. threading 库 (多进程.多线程) 基础学习 相关知识 线程和进程的优缺点 2. numpy 库 (矩阵) 基础用法 进阶用 ...

最新文章

  1. python练手小游戏_Python小游戏练手EMS员工项目自学者练习
  2. 最大似然估计MLE和最大后验估计MAP理解
  3. C++类的内联成员函数应放在哪
  4. hive修改默认创建表格式
  5. excel中去掉换行符的快捷键
  6. 动态加载Web Service
  7. nginx压缩静态文件
  8. JS 数字,金额 用逗号 隔开(数字格式化)
  9. android开发论坛!关于Android开发的面试经验总结,含爱奇艺,小米,腾讯,阿里
  10. EC20模块内置协议栈的开发笔记
  11. matlab元胞数组cell添加元素
  12. [linux无线子系统]主动扫描之发送Probe Request帧
  13. 20151023 - 用天枰3次从12个球中找1个不等重球的问题
  14. 奢潮自信即刻拥有,KOREANO ESSENTIAL春夏系列上市
  15. 文本图片垂直水平居中显示
  16. maven的pom.xml文件中导入c3p0连接池,在运行时报错
  17. 成都大数据培训之C++的异同小常识
  18. Unity城市虚拟搭建的时候,【房子】或【桥廊】跟随鼠标在【地面】或者【水面】移动
  19. python put指令是什么意思_request.put()但它请求使用PUT在我的Python上使用GET
  20. Redis队列和阻塞队列

热门文章

  1. docker安装了nacos,浏览器却无法访问到页面
  2. android分屏模式_Android多窗口模式(分屏模式)
  3. 各种github浏览器无法访问问题
  4. 什么是安迪比尔定理?
  5. ZOJ1005 Jugs
  6. 用 8550 和 ULN2003 驱动小型直流电机正反转
  7. 量子计算发展史上的27个里程碑事件
  8. 批量修改文件名,图文教学,2分钟简单学会
  9. ubuntu加了张固态_将ubuntu系统迁移到ssd固态
  10. 软件测试学习笔记(九)淘宝测试