Python 正则表达式示例
字面字符
| 序号 | 示例及描述 |
|---|---|
| 1 | python 匹配行首。 |
字符类
| 序号 | 示例及描述 |
|---|---|
| 1 | [Pp]ython 匹配 "Python" 或 "python" |
| 2 | rub[ye] 匹配 "ruby" 或 "rube" |
| 3 | [aeiou] 匹配任何一个小写元音 |
| 4 | [0-9] 匹配任何数字;与 [0123456789] 相同 |
| 5 | [a-z] 匹配任何小写 ASCII 字母 |
| 6 | [A-Z] 匹配任何大写 ASCII 字母 |
| 7 | [a-zA-Z0-9] 匹配以上任何一个 |
| 8 | [^aeiou] 匹配除小写元音之外的任何字符 |
| 9 | [^0-9] 匹配除数字之外的任何字符 |
特殊字符类
| 序号 | 示例及描述 |
|---|---|
| 1 | . 匹配除换行符之外的任何字符 |
| 2 | \d 匹配数字:[0-9] |
| 3 | \D 匹配非数字:[^0-9] |
| 4 | \s 匹配空白字符:[ \t\r\n\f] |
| 5 | \S 匹配非空白字符:[^ \t\r\n\f] |
| 6 | \w 匹配单个单词字符:[A-Za-z0-9_] |
| 7 | \W 匹配非单词字符:[^A-Za-z0-9_] |
重复情况
| 序号 | 示例及描述 |
|---|---|
| 1 | ruby? 匹配 "rub" 或 "ruby":y 可选 |
| 2 | ruby* 匹配 "rub" 加 0 个或多个 y |
| 3 | ruby+ 匹配 "rub" 加 1 个或多个 y |
| 4 | \d{3} 精确匹配 3 个数字 |
| 5 | \d{3,} 匹配 3 个或更多数字 |
| 6 | \d{3,5} 匹配 3、4 或 5 个数字 |
非贪婪重复
这将匹配最少的重复次数 -
| 序号 | 示例及描述 |
|---|---|
| 1 | <.*> 贪婪重复:匹配 "<python>perl>" |
| 2 | <.*?> 非贪婪:匹配 "<python>" 中的 "<python>perl>" |
使用括号进行分组
| 序号 | 示例及描述 |
|---|---|
| 1 | \D\d+ 无分组:+ 重复 \d |
| 2 | (\D\d)+ 分组:+ 重复 \D\d 对 |
| 3 | ([Pp]ython(, )?)+ 匹配 "Python"、"Python, python, python" 等。 |
反向引用
这将再次匹配先前匹配的组 -
| 序号 | 示例及描述 |
|---|---|
| 1 | ([Pp])ython&\1ails 匹配 python&pails 或 Python&Pails |
| 2 | (['"])[^\1]*\1 单引号或双引号字符串。\1 匹配第一个组匹配的任何内容。\2 匹配第二个组匹配的任何内容,依此类推。 |
备选方案
| 序号 | 示例及描述 |
|---|---|
| 1 | python|perl 匹配 "python" 或 "perl" |
| 2 | rub(y|le)) 匹配 "ruby" 或 "ruble" |
| 3 | Python(!+|\?) "Python" 后跟一个或多个 ! 或一个 ? |
锚点
这需要指定匹配位置。
| 序号 | 示例及描述 |
|---|---|
| 1 | ^Python 匹配字符串或内部行的开头处的 "Python" |
| 2 | Python$ 匹配字符串或行末尾的 "Python" |
| 3 | \APython 匹配字符串开头的 "Python" |
| 4 | Python\Z 匹配字符串结尾处的 "Python" |
| 5 | \bPython\b 匹配单词边界处的 "Python" |
| 6 | \brub\B \B 是非单词边界:匹配 "rube" 和 "ruby" 中的 "rub",但不能单独匹配 |
| 7 | Python(?=!) 如果后面跟着感叹号,则匹配 "Python"。 |
| 8 | Python(?!!) 如果后面不跟着感叹号,则匹配 "Python"。 |
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP