Python 正则表达式模式(re 模块)备忘单

Python 正则表达式参考指南。学习匹配、搜索、findall、子和基本正则表达式模式。

核心模块方法

re 库中用于文本查询的标准函数接口。

方法/功能语法描述
search()re.search(pattern, string)扫描输入字符串以找到正则表达式模式匹配的第一个位置。
match()re.match(pattern, string)确定正则表达式模式是否从字符串开头开始匹配。
findall()re.findall(pattern, string)查找模式的所有非重叠匹配项,返回匹配项列表。
finditer()re.finditer(pattern, string)返回一个迭代器,生成所有匹配项的 MatchObject 实例。
sub()re.sub(pattern, repl, string)将字符串中所有出现的模式替换为 repl。
compile()re.compile(pattern)将正则表达式模式编译为正则表达式对象以供重用。

正则表达式元字符和简写

用于构建搜索模式的构建块。

方法/功能语法描述
.Match any character匹配除换行符之外的任何单个字符。
^ / $Anchor start / end匹配字符串的开头 (^) 和字符串的结尾 ($)。
* / + / ?Quantifiers代表 0 次或多次 (*)、1 次或多次 (+)、或者 0 次或 1 次 (?) 重复。
\dDigit character相当于[0-9]类。
\wAlphanumeric character匹配字母数字字符和下划线。
\sWhitespace character匹配空格、制表符和换行符。

交互式演示脚本

run_all_cheat_methods.py
在编辑器中运行
# search()
re.search(pattern, string)

# match()
re.match(pattern, string)

# findall()
re.findall(pattern, string)

# finditer()
re.finditer(pattern, string)

# sub()
re.sub(pattern, repl, string)

# compile()
re.compile(pattern)

# .
Match any character

# ^ / $
Anchor start / end

# * / + / ?
Quantifiers

# \d
Digit character

# \w
Alphanumeric character

# \s
Whitespace character

常见问题解答

re.match() 和 re.search() 有什么区别?

re.match() 仅在字符串的开头检查匹配,而 re.search() 则扫描整个字符串以查找匹配。

如何在正则表达式匹配中捕获组输出?

在模式中使用括号 () 来定义组,并使用 match_obj.group(1)、match_obj.group(2) 等检索它们。

相关主题

推荐的 Python 资源

通过相关的交互式教程、备忘单和代码比较来扩展您的知识。