25 分钟
Python 高级

正则表达式基础

使用 re 模块进行模式匹配

  • 掌握正则基本语法
  • 使用 re.match/search/findall
  • 常用元字符和量词

re 模块基础

示例代码(可运行)

常用元字符

示例代码(可运行)

分组和替换

示例代码(可运行)
⚠️原始字符串

正则前加 r 前缀,比如 r"\d",否则 Python 会先把 \d 当成转义字符解析。

预测输出
import re
print(re.findall(r"\d+", "a1b22c333"))
找 Bugmatch只从字符串开头匹配,abc开头不是数字所以返回None。
import re print(re.match(r"\d+", "abc123"))
填空题填写空白处的代码
import re print(re.findall(r"\d", "a1b22")) # ["1","22"]
选择题

匹配邮箱用哪个函数?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

@decorator 写在函数定义上方,它在「模块加载、函数被定义时」就执行一次,把原函数包装成新函数;之后每次调用,走的都是包装后的版本。带参数的装饰器本质是三层嵌套(外层收参数、中层收函数、内层收调用参数)。务必用 functools.wraps 保留原函数名和文档,否则调试栈和日志里全是 wrapper。

挑战任务

正则挑战

简单+50 XP

提取文本中所有邮箱地址。

正则挑战
2 个测试用例

课后作业

密码强度

中等+20 XP

用正则验证密码:至少8位含大小写和数字。

密码强度
1 个测试用例