Python正则表达式是通过re模块实现的文本模式匹配工具,支持^、$、\d、\w、+、*、?、\s、.等基础符号及分组提取,常用函数包括re.search、re.findall、re.sub和re.split,推荐使用原始字符串书写并合理选用编译与标志位。
Python正则表达式(Regular Expression,简称 regex 或 regexp)是一种用于匹配、查找、替换文本中特定模式的工具。它用一套简洁但功能强大的语法规则,描述“你想要找什么样的字符串”,比如“以数字开头、后面跟3个字母、再以@结尾”这样的结构。
正则本
身不是 Python 独有,但 Python 通过 re 模块提供支持。基础符号包括:
^abc$ 只匹配整个字符串刚好是 "abc")[0-9]),\w 匹配字母、数字或下划线(\d{4})-(\d{2})-(\d{2}) 能从 "2025-05-20" 中分别捕获年、月、日导入后,几个最常用的函数要记牢:
例如提取所有邮箱:
import re
text = "联系我:alice@example.com 或 bob@test.org"
emails = re.findall(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', text)
# 得到 ['alice@example.com', 'bob@test.org']
写正则时容易踩坑,记住这几条:
r'\n' 是两个字符 \ 和 n,而 '\n' 是一个换行符)[\u4e00-\u9fff],或加 re.U 标志让 \w \d 等支持 Unicodere.I)正则很强大,但不是万能钥匙:
基本上就这些。入门从 re.findall 和几个基础符号开始练,边查边试,熟练了自然就顺了。