除控制字符(+?。* ^ $()[] {} | \)外,所有字符都匹配。您可以在控制字符前加反斜杠来对其进行转义。
下表列出了Python中可用的正则表达式语法-
序号 | 模式与说明 |
---|---|
1 | ^ 匹配行首。 |
2 | $ 匹配行尾。 |
3 | 。 匹配除换行符以外的任何单个字符。使用m选项还可以使其与换行符匹配。 |
4 | [...] 匹配括号中的任何单个字符。 |
5 | [^ ...] 匹配括号中没有的任何单个字符 |
6 | re * 匹配0个或多个出现的前一个表达式。 |
7 | re + 匹配1个或多个出现的前一个表达式。 |
8 | 回覆? 匹配0或1个出现的前一个表达式。 |
9 | re {n} 精确匹配前一个表达式的n次出现。 |
10 | re {n,} 匹配n个或多个出现的前一个表达式。 |
11 | re {n,m} 至少匹配n个并且最多匹配m个先前的表达式。 |
12 | a | b 匹配a或b。 |
13 | (重新)对 正则表达式进行分组并记住匹配的文本。 |
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等。 匹配换行符,回车符,制表符等。 |
36 | \ 1 ... \ 9 匹配第n个分组的子表达式。 |
37 | \ 10 如果已匹配第n个分组的子表达式,则将其匹配。否则是指字符代码的八进制表示形式。 |