栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

第2关:基础正则表达式--字符组

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第2关:基础正则表达式--字符组

任务描述
本关任务:运用正则表达式的字符组表示方法,编写一个能从文本中快速匹配到python和Python的小程序。
相关知识
为了完成本关任务,你需要掌握:
1.正则表达式的字符组的表达方式;
2.Python中 re模块中获取多个匹配的使用方法。
在上一个任务中,已经了解了只包含简单字母数字的正则表达式,但如果仅仅如此,那么太小瞧正则表达式的威力了。正则表达式强大的地方在于能够指定用于匹配的文本模式。本关来学习正则表达式的字符组匹配。
1、获得多个匹配信息
在很多常见的场景中需要进行多个匹配,比如在学生名单中过滤出所有的张姓学生的个数。
如果有这种需求咱们可以使用re模块中的findall 或者 finditer方法。两个方法的区别在于 findall 返回的是一个列表,finditer返回的是一个生成器。
l = re.findall(r’张’,‘张三 张三丰 张无忌 张小凡’)
print(l)
[‘张’, ‘张’, ‘张’, ‘张’]
在这个例子中,我们会发现findall返回了4个“张”,这是因为“张”字在后面的字符串中出现了4次。即findall返回了所有的匹配信息。
2、字符组
字符组允许匹配一组可能出现的字符,在正则表达式中用[]表示字符组标志,举个例子。
‘I like Python3 and I like python2.7 ’
在这句话中,既有大写的Python,又有全部是小写的python。如果我要求都匹配出来,这时候该怎么操作了?这就是正则匹配中字符组的威力了。下面看下示例。
a = re.findall(r’[Pp]ython’,'I like Python3 and I like python2.7 ')
print(a)
[‘Python’, ‘python’]
可以发现[Pp]既可以匹配大写的P也可以匹配小写的p,这里值的我们注意的是[Pp]仅匹配一个字符,他表示匹配在这个[]内的某一个。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:
从文本中快速匹配到python和Python的小程序,输出匹配到的所有内容。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:I LIKE Python3 and i like python2.7;
预期输出:
[Python, python]
开始你的任务吧,祝你成功!

# coding=utf-8

import re

input_str = input()

# 编写获取python和Python的正则,并存储到match_python变量中

########## Begin ##########
match_python = re.findall(r'[Pp]ython',input_str)  


########## End ##########

print(match_python)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841055.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号