希望有朋友能给予补充。
字符 |
功能及介绍 |
一、 |
非打印字符 |
\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 在内)。