Python 正则表达式模式
除了控制字符 (+ ? . * ^ $ ( ) [ ] { } | \) 之外,所有字符都匹配自身。可以使用反斜杠 (\) 转义控制字符。
下表列出了 Python 中可用的正则表达式语法:
序号 | 模式及描述 |
---|---|
1 | ^ 匹配行首。 |
2 | $ 匹配行尾。 |
3 | . 匹配除换行符之外的任何单个字符。使用 m 选项允许它匹配换行符。 |
4 | [...] 匹配括号中任何单个字符。 |
5 | [^...] 匹配括号中任何单个字符之外的任何单个字符 |
6 | re* 匹配前面表达式的 0 次或多次出现。 |
7 | re+ 匹配前面表达式的 1 次或多次出现。 |
8 | re? 匹配前面表达式的 0 次或 1 次出现。 |
9 | re{ n} 精确匹配前面表达式 n 次出现。 |
10 | re{ n,} 匹配前面表达式 n 次或多次出现。 |
11 | re{ n, m} 匹配前面表达式至少 n 次,最多 m 次出现。 |
12 | a| 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 个分组子表达式已匹配,则匹配它。否则引用字符代码的八进制表示。 |
广告