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 个分组子表达式已匹配,则匹配它。否则引用字符代码的八进制表示。 |
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP