第1关:查找第一个匹配的字符串
编程要求
根据提示,在右侧编辑器 Begin-End 部分补充代码,具体任务如下:
-
导入相关包;
-
查看此信息是不是
张明
的信息,查找结果存储在is_zhangming
变量中。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:张伟 86-14870293148
; 预期输出: None
测试输入:张明
; 预期输出: (0,2)
开始你的任务吧,祝你成功!
# 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关:基础正则表达式--字符组
编程要求
根据提示,在右侧编辑器 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)
第3关:基础正则表达式--区间与区间取反
编程要求
请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码,具体任务如下:
-
匹配数字字符信息;
-
匹配不是数字字符的信息。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:Python3 and python2.7
; 预期输出: ['3', '2', '7']
['P', 'y', 't', 'h', 'o', 'n', ' ', 'a', 'n', 'd', ' ', 'p', 'y', 't', 'h', 'o', 'n', '.']
开始你的任务吧,祝你成功!
# coding=utf-8
import re
input_str = input()
# 1、编写获取到数字的正则,并输出匹配到的信息
########## Begin ##########
a=re.findall(r'[0-9]',input_str)
print(a)
########## End ##########
# 2、编写获取到不是数字的正则,并输出匹配到的信息
########## Begin ##########
b=re.findall(r'[^0-9]',input_str)
print(b)
########## End ##########
第4关:基础正则表达式--快捷方式
编程要求
请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码,具体任务如下:
- 匹配单词字符,并输出;
- 匹配不是单词的字符,并输出。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:Python3 and python2.7
; 预期输出: ['P', 'y', 't', 'h', 'o', 'n', '3', 'a', 'n', 'd', 'p', 'y', 't', 'h', 'o', 'n', '2', '7']
[' ', ' ', '.']
开始你的任务吧,祝你成功!
# coding=utf-8
import re
input_str = input()
# 1、编写获取到单词的正则,并输出匹配到的信息
########## Begin ##########
a=re.findall(r'\w',input_str)
print(a)
########## End ##########
# 2、编写获取到不是单词的正则,并输出匹配到的信息
########## Begin ##########
b=re.findall(r'\W',input_str)
print(b)
########## End ##########
第5关:字符串的开始与结束
编程要求
请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码,具体任务如下:
- 匹配以
educoder
开头的字符串,并存储到变量a
; - 匹配以
educoder
结束的字符串,并存储到变量b
。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:educoder can help you
; 预期输出: (0, 8)
None
测试输入:i love educoder
; 预期输出: None
(7, 15)
测试输入:you can make educoder better
预期输出: None
None
开始你的任务吧,祝你成功!
# 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关:任意字符
编程要求
请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码。,具体任务如下:
- 匹配出测试集中的包含
(任意字符)ython
的子字符串,并输出数组子字符串。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:2ython
; 预期输出:['2ython']
。
测试输入:ython
; 预期输出:[]
。
开始你的任务吧,祝你成功!
# coding=utf-8
import re
input_str = input()
# 编写获取(任意字符)+ython的字符串,并存储到变量a中
########## Begin ##########
a=re.findall(r'.ython',input_str)
########## End ##########
print(a)
第7关:可选字符
编程要求
请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码。具体任务如下:
- 匹配出字符串中的
she
或者he
,并输出匹配到的信息。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:she is
; 预期输出:she
。
测试输入:he;
; 预期输出:he
。
开始你的任务吧,祝你成功!
# coding=utf-8
import re
input_str = input()
# 编写获取she或者he的字符串,并存储到变量a中
########## Begin ##########
a=re.findall(r's?he',input_str)
########## End ##########
print(a)
第8关:重复区间
编程要求
请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码。匹配并输出符合如下要求的字符串:
1、字符串中重复 2
个数字的子字符串; 2、重复 4-7
个数字组成的子字符串。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:张3:0731-8825951,李4:0733-8794561
; 预期输出:['0731', '8825951', '0733', '8794561']
。
开始你的任务吧,祝你成功!
# 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关:开闭区间与速写
编程要求
请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码。,匹配并输出符合如下要求的字符串:
-
重复数字
5
次及以上的子字符串; -
重复数字
1
次及以上的子字符串。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:0731-8859456
; 预期输出: ['8859456']
['0731', '8859456']
开始你的任务吧,祝你成功!
# 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)