【头歌系统Python实验】正则表达式入门

目录

第1关:查找第一个匹配的字符串

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

第3关:基础正则表达式--区间与区间取反

第4关:基础正则表达式--快捷方式

第5关:字符串的开始与结束

第6关:任意字符

第7关:可选字符

第8关:重复区间

第9关:开闭区间与速写


如果对你有帮助的话,不妨点赞收藏评论一下吧,爱你么么哒😘❤️❤️❤️

第1关:查找第一个匹配的字符串

任务描述

本关任务:学会导入 python 的正则表达式库,使用该库方法的 search 方法编写一个匹配小程序。该方法能查看某个学生名字是否在此学生信息中。

编程要求

根据提示,在右侧编辑器 Begin-End 部分补充代码,具体任务如下:

  • 导入相关包;

  • 查看此信息是不是 张明 的信息,查找结果存储在 is_zhangming 变量中。

测试说明

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

测试输入:张伟 86-14870293148; 预期输出: None

测试输入:张明; 预期输出: (0,2)

python 复制代码
# 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关:基础正则表达式--字符组

任务描述

本关任务:运用正则表达式的字符组表示方法,编写一个能从文本中快速匹配到 pythonPython 的小程序。

编程要求

根据提示,在右侧编辑器 Begin-End 部分补充代码,具体任务如下:

  • 从文本中快速匹配到 pythonPython 的小程序,输出匹配到的所有内容。
测试说明

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

测试输入:I LIKE Python3 and i like python2.7; 预期输出: [Python, 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', '.']

python 复制代码
# coding=utf-8

import re

input_str = input()

# 1、编写获取到数字的正则,并输出匹配到的信息
########## Begin ##########
number=re.findall(r'[0-9]',input_str)
print(number)
########## End ##########

# 2、编写获取到不是数字的正则,并输出匹配到的信息
########## Begin ##########
nonum=re.findall(r'[^0-9]',input_str)
print(nonum)
########## End ##########

第4关:基础正则表达式--快捷方式

任务描述

本关任务:运用正则表达式的快捷方式的表示方法,编写一个能从文本中快速匹配到任意单词和不是单词的 Python 小程序。

编程要求

请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码,具体任务如下:

  • 匹配单词字符,并输出;
  • 匹配不是单词的字符,并输出。
测试说明

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

测试输入:Python3 and python2.7; 预期输出: ['P', 'y', 't', 'h', 'o', 'n', '3', 'a', 'n', 'd', 'p', 'y', 't', 'h', 'o', 'n', '2', '7'] [' ', ' ', '.']

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 结尾,并输出该字符串的位置。

编程要求

请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码,具体任务如下:

匹配以 educoder 开头的字符串,并存储到变量 a

匹配以 educoder 结束的字符串,并存储到变量 b

python 复制代码
# 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 的子字符串,并输出匹配到的结果。

编程要求

请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码。,具体任务如下:

匹配出测试集中的包含 (任意字符)ython 的子字符串,并输出数组子字符串。

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 的子字符串,并输出匹配到的结果。

编程要求

请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码。具体任务如下:

  • 匹配出字符串中的 she 或者 he ,并输出匹配到的信息。
测试说明

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

测试输入:she is; 预期输出:she

测试输入:he;; 预期输出:he

python 复制代码
# 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 次的数字内容,并打印出其匹配到的列表。

编程要求

请仔细阅读右侧代码,根据提示,在右侧编辑器 Begin-End 部分补充代码。匹配并输出符合如下要求的字符串:

1、字符串中重复 2 个数字的子字符串; 2、重复 4-7 个数字组成的子字符串。

测试说明

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

测试输入:张3:0731-8825951,李4:0733-8794561; 预期输出:['0731', '8825951', '0733', '8794561']

python 复制代码
# 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']

python 复制代码
# 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)
相关推荐
xy_optics19 分钟前
用matlab探索卷积神经网络(Convolutional Neural Networks)-3
开发语言·matlab·cnn
蔗理苦22 分钟前
2025-04-05 吴恩达机器学习5——逻辑回归(2):过拟合与正则化
人工智能·python·机器学习·逻辑回归
独好紫罗兰25 分钟前
洛谷题单3-P1720 月落乌啼算钱(斐波那契数列)-python-流程图重构
开发语言·算法·leetcode
viperrrrrrrrrr71 小时前
大数据学习(96)-Hive面试题
大数据·hive·学习
charlie1145141911 小时前
STM32F103C8T6单片机的起始点:使用GPIO输出点亮我们的第一个小灯(HAL库版本)
stm32·单片机·嵌入式硬件·学习·教程·hal库·gpio
啥都鼓捣的小yao1 小时前
Python解决“数字插入”问题
python·算法
csdn_aspnet1 小时前
如何在 Linux 上安装 Python
linux·运维·python
慕容莞青2 小时前
MATLAB语言的进程管理
开发语言·后端·golang
jimin_callon2 小时前
VBA第三十八期 VBA自贡分把表格图表生成PPT
开发语言·python·powerpoint·编程·vba·deepseek
每次的天空2 小时前
Android学习总结之算法篇五(字符串)
android·学习·算法