第1关:查找第一个匹配的字符串
任务描述
本关任务:学会导入 python
的正则表达式库,使用该库方法的 search
方法编写一个匹配小程序。该方法能查看某个学生名字是否在此学生信息中。
# coding=utf-8
# 在此导入python正则库
########## Begin ##########
import re
########## End ##########
check_name = input()
# 在此使用正则匹配'张明'的信息,结果存储到is_zhangming中
########## Begin ##########
is_zhangming = re.search(r"张明",check_name)
########## End ##########
if is_zhangming is not None:
print(is_zhangming.span())
else:
print(is_zhangming)
第2关:基础正则表达式--字符组
任务描述
本关任务:运用正则表达式的字符组表示方法,编写一个能从文本中快速匹配到 python
和 Python
的小程序。
# coding=utf-8
import re
input_str = input()
# 编写获取python和Python的正则,并存储到match_python变量中
########## Begin ##########
match_python=re.findall("[pP]ython",input_str)
########## End ##########
print(match_python)
第3关:基础正则表达式--区间与区间取反
任务描述
本关任务:运用正则表达式的区间表示方法,编写一个能从文本中快速匹配到数字与不是数字字符的小程序。
# coding=utf-8
import re
input_str = input()
b=re.findall(r'[0-9]',input_str)
print(b)
########## End ##########
# 2、编写获取到不是数字的正则,并输出匹配到的信息
########## Begin ##########
c = re.findall(r'[^0-9]',input_str)
print(c)
########## End ##########
第4关:基础正则表达式--快捷方式
任务描述
本关任务:运用正则表达式的快捷方式的表示方法,编写一个能从文本中快速匹配到任意单词和不是单词的 Python
小程序。
# coding=utf-8
import re
input_str = input()
# 1、编写获取到单词的正则,并输出匹配到的信息
########## Begin ##########
b=re.findall(r'[a-zA-Z0-9]',input_str)
print(b)
########## End ##########
# 2、编写获取到不是单词的正则,并输出匹配到的信息
########## Begin ##########
c=re.findall(r'[\W]',input_str)
print(c)
########## End ##########
第5关:字符串的开始与结束
任务描述
本关任务:使用正则表达式的方法编写一个小程序。该程序可以: 1、匹配到该字符串是否以 educoder
开头,并输出该字符串的位置; 2、匹配到该字符串是否以 educoder
结尾,并输出该字符串的位置。
# coding=utf-8
import re
input_str = input()
# 1、编写获取到以educoder开头的正则,并存储到变量a
########## Begin ##########
a = re.search(r'^educoder', input_str)
########## End ##########
if a is not None:
print(a.span())
else:
print(a)
# 2、编写获取到以educoder结束的正则,并存储到变量b
########## Begin ##########
b = re.search(r'educoder$', input_str)
########## End ##########
if b is not None:
print(b.span())
else:
print(b)
第6关:任意字符
任务描述
本关任务:使用正则表达式的方法编写一个小程序。该程序可以判断该字符串是否包含 (任意字符)Python
的子字符串,并输出匹配到的结果。
# coding=utf-8
import re
input_str = input()
# 编写获取(任意字符)+ython的字符串,并存储到变量a中
########## Begin ##########
a=re.findall(r'.ython',input_str)
########## End ##########
print(a)
第7关:可选字符
任务描述
本关任务:使用正则表达式的方法编写一个小程序。该程序可以判断该字符串是否包含 he
或者 she
的子字符串,并输出匹配到的结果。
# coding=utf-8
import re
input_str = input()
# 编写获取she或者he的字符串,并存储到变量a中
########## Begin ##########
a=re.findall(r's?he',input_str)
########## End ##########
print(a)
第8关:重复区间
任务描述
本关任务:编写一个正则表达式的小程序,该小程序具有以下功能: 1、匹配到字符串中重复出现 2
的数字内容,并打印出其匹配到的列表; 2、匹配到字符串中重复出现 4
次到 7
次的数字内容,并打印出其匹配到的列表。
# coding=utf-8
import re
input_str = input()
# 1、基于贪心模式匹配字符串中重复出现2个数字的子字符串,并存储到变量a。
########## Begin ##########
a = re.findall(r'[\d]{2}',input_str)
########## End ##########
print(a)
# 2、基于贪心模式匹配字符串中重复出现4-7个数字的子字符串,并存储到变量b。
########## Begin ##########
b = re.findall(r'[\d]{4,7}',input_str)
########## End ##########
print(b)
第9关:开闭区间与速写
任务描述
本关任务:使用正则表达式重复速写的功能编写一个小程序,该小程序能根据需求能重复匹配字符串中多个字符,并输出内容。
# coding=utf-8
import re
input_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)