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

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. 一家全是学霸!王力宏的哥哥也是博士,近日获5000余万拨款用于这项研究
  2. Linux环境:NFS--网络文件系统部署
  3. 稀疏自编码器_基于tf实现稀疏自编码和在推荐中的应用
  4. mysql如何删除列中的约束_我们如何从现有MySQL表的列中删除NOT NULL约束?
  5. python入门--函数
  6. Mind+实时模式智能问答机器人
  7. 数据密集型应用系统设计--数据分区
  8. Android LayoutInflater概述
  9. 【源码部署】Linux环境下编译snort
  10. 拍牌人数陡增6万人,中标率降至7.8%,我们错过了拍沪牌的黄金期
  11. 【MATLAB】进阶绘图 ( 进阶绘图展示 | 对数图 | semilogx 半对刻度数图 | semilogy 半对数刻度图 | loglog 双对数刻度图 )
  12. matlab数据读入,Matlab数据导入
  13. 什么是OA系统?OA系统的协同门户平台有哪些特点?
  14. android自定义组件属性,Android组合控件详解 自定义属性
  15. 【20考研数学】整体难度如何,有什么特点?
  16. PHP使用header实现文件下载功能
  17. NX二次开发-UFUN读取图纸尺寸的值UF_DRF_ask_dimension_text
  18. 让淘宝流量迅速翻倍的实用技巧
  19. 内存泄漏是个什么狗东西
  20. ABtest如何确定样本量?

热门文章

  1. 线性模型(Linear Model)
  2. Customers Who Never Order
  3. Vue-第三方库扩展
  4. 最新百度云不限速软件
  5. vue开发银行流水查询系统--基于巨杉数据库
  6. css3 图片旋转360度动画
  7. 1.模态分析是什么?为什么采用模态分析?
  8. JS验证邮箱合理性(初级版)
  9. 阿里云国际站:阿里云服务器遇到了CC攻击怎么处理防护措施?
  10. 部门平均工资mysql_按部门统计各工资级别的人数、平均工资。