快速答案
本答案页包含 Python 正则表达式 的 4 道选择题、4 道填空题和 4 道输出预测题,每题都给出准确答案和简短解释。
答案已完整展示,建议先尝试作答,再用本页核对。第一次练习最好从互动练习页开始。
没有匹配时 re.search 返回什么?
答案: None
为什么: 搜索失败会返回 None,所以调用 group() 前要先检查结果。
运行结果是什么?
import re
print(re.findall(r"\d", "a1b2"))答案: ['1', '2']
为什么: 模式一次匹配一个数字,findall 返回字符串列表。
模式 r"\d+" 匹配什么?
答案: 一个或多个数字
为什么: \d 表示数字,+ 表示一次或多次重复。
这段程序打印出什么?
import re
print(re.sub(r"cat", "dog", "cat cat"))答案: dog dog
为什么: re.sub 会把每一处 cat 都替换成 dog。
补全导入语句。
____ re
print(re.findall(r"\d+", "a1"))答案: import
为什么: 使用 re 模块的函数前必须先导入。
补全查找数字组的模式。
import re
text = "a1b22"
print(re.findall(r"____+", text))答案: \d
为什么: 模式 \d+ 匹配一个或多个数字。
补全替换函数。
import re
print(re.____(r"cat", "dog", "cat"))答案: sub
为什么: re.sub 会替换字符串中匹配的部分。
补全搜索调用。
import re
print(re.____(r"\d+", "a1").group())答案: search
为什么: re.search 返回第一个匹配,group() 读取匹配文本。
代码的输出结果是什么?
import re
print(re.findall(r"\d+", "a1b22")[1])答案: 22
为什么: 匹配结果是 ['1', '22'],索引 1 是 22。
屏幕上会显示什么?
import re
print(re.sub(r"\s+", "-", "a b"))答案: a-b
为什么: 连续空格被替换成一个连字符,结果是 a-b。
这段代码会输出什么?
import re
print(bool(re.search(r"\d", "abc")))答案: False
为什么: abc 中没有数字,search 返回 None,bool(None) 是 False。
运行结果是什么?
import re
print(re.findall(r"[A-Z]", "pyTHON"))答案: ['T', 'H', 'O', 'N']
为什么: 大写字母是 T、H、O、N。
先试一遍题目
打开 Python 正则表达式 练习页,用即时反馈回答同样的 12 道题。