希望有朋友能给予补充。
字符 | 功能及介绍 |
一、 | 非打印字符 |
\cx | 匹配由x指明的控制字符。如:\cM匹配一个Control-M或回车符。x值必须为A-Z或a-z之一,否则,将c视为一个原义的“c”字符 |
\f | 匹配一个换页符。等价于 \x0c和 \cL |
\n | 匹配一个换行符。等价于 \x0a和 \cJ |
\r | 匹配一个回车符。等价于 \x0d和\ cM |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [\f\n\r\t\v] 。注意Unicode正则表达式会匹配全角空格符 |
\S | 匹配任何非空白字符。等价于 [^\f\n\r\t\v] |
\t | 匹配一个制表符。等价于 \x09 和 \cl |
\v | 匹配一个垂直制表符。等价于 \x0b 和 \cK |
二、 | 特殊字符 |
() | 匹配子表达式的开始和结束位置。 |
. | 匹配除换行符 \n 之外的任何单字符(必须得有匹配的字符)。 |
[] | 匹配中括号中出现的任意一个字符。如:[bce]表示b、c、e中的一个。 |
\ | 将下一个字符标记为特殊字符、原义字符、向后引用或八进制转义符。如 \\n 匹配\n,\n 匹配换行符,\\ 匹配 \ |
{} | 标记限定符表达式的开始和结束位置。 |
| | 管道选择,指明选择两项之一。 |
\d | 匹配一个数字字符。等价于 [0-9] |
[0-9] | 匹配任何数字。等价于 \d |
\D | 匹配一个非数字字符。等价于 [^0-9] |
[a-z] | 匹配任何小写字母 |
[A-Z] | 匹配任何大写字母 |
[a-zA-Z0-9] | 匹配任何字母及数字 |
\w | 匹配包含下划线的任何单词字符。等价于 [A-Za-z0-9_] |
\W | 匹配任何非单词字符。等价于 [^A-Za-z0-9_] |
[\u4e00-\u9fa5] | 匹配纯中文 |
三、 | 定位符 |
* | 匹配前面的子表达式零次或多次 |
+ | 匹配前面的子表达式一次或多次 |
? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。 通过在 *、+ 或 ? 限定符之后放置 ?,该表达式从"贪婪"表达式转换为"非贪婪"表达式或者最小匹配。 |
{n} | n是非负整数。匹配前面的子表达式n次 |
{n,} | n是非负整数。匹配前面的子表达式至少n次 |
{n,m} | m、n均为非负整数,其中n≤m。匹配前面的子表达式至少n次,最多m次。注意逗号与n、m之间不能有空格 |
四、 | 限定符 |
^ | 匹配字符串的开始位置,如:^h匹配以h开头;在方括号表达式中时,表示不接受该字符集合,例如 [^0-9] 匹配除了数字以外的字符 |
$ | 匹配字符串的结尾位置 |
\b | 匹配一个单词边界,即字与空格的位置 |
\B | 非单词边界匹配 |
五、修正符:
修正符:i,re模块提供的变量:re.I,使模式对大小写不敏感,也就是不区分大小写。
修正符:m,re模块提供的变量:re.M,使模式在多行文本中可以多个行头和行位,影响^和$。
修正符:s,re模块提供的变量:re.S,让通配符 . 可以代表任何字符(包括换行符 \n 在内)。