Python 正则表达式模式


除了控制字符 (+ ? . * ^ $ ( ) [ ] { } | \) 之外,所有字符都匹配自身。可以使用反斜杠 (\) 转义控制字符。

下表列出了 Python 中可用的正则表达式语法:

序号模式及描述
1^
匹配行首。
2$
匹配行尾。
3.
匹配除换行符之外的任何单个字符。使用 m 选项允许它匹配换行符。
4[...]
匹配括号中任何单个字符。
5[^...]
匹配括号中任何单个字符之外的任何单个字符
6re*
匹配前面表达式的 0 次或多次出现。
7re+
匹配前面表达式的 1 次或多次出现。
8re?
匹配前面表达式的 0 次或 1 次出现。
9re{ n}
精确匹配前面表达式 n 次出现。
10re{ n,}
匹配前面表达式 n 次或多次出现。
11re{ n, m}
匹配前面表达式至少 n 次,最多 m 次出现。
12a| b
匹配 a 或 b。
13(re)
分组正则表达式并记住匹配的文本。
14(?imx)
临时启用正则表达式中的 i、m 或 x 选项。如果在括号内,则仅影响该区域。
15(?-imx)
临时禁用正则表达式中的 i、m 或 x 选项。如果在括号内,则仅影响该区域。
16(?: re)
分组正则表达式而不记住匹配的文本。
17(?imx: re)
临时启用括号内的 i、m 或 x 选项。
18(?-imx: re)
临时禁用括号内的 i、m 或 x 选项。
19(?#...)
注释。
20(?= re)
使用模式指定位置。没有范围。
21(?! re)
使用模式否定指定位置。没有范围。
22(?> re)
匹配独立模式,不回溯。
23\w
匹配单词字符。
24\W
匹配非单词字符。
25\s
匹配空格。等效于 [\t\n\r\f]。
26\S
匹配非空格。
27\d
匹配数字。等效于 [0-9]。
28\D
匹配非数字。
29\A
匹配字符串开头。
30\Z
匹配字符串结尾。如果存在换行符,则匹配换行符之前。
31\z
匹配字符串结尾。
32\G
匹配上次匹配结束的位置。
33\b
在括号外匹配单词边界。在括号内匹配退格符 (0x08)。
34\B
匹配非单词边界。
35\n, \t, etc.
匹配换行符、回车符、制表符等。
36\1...\9
匹配第 n 个分组子表达式。
37\10
如果第 n 个分组子表达式已匹配,则匹配它。否则引用字符代码的八进制表示。

更新于:2020年1月30日

445 次浏览

启动您的职业生涯

完成课程后获得认证

开始学习
广告