python正则表达式字符汇总(更新2)

希望有朋友能给予补充。

字符

功能及介绍

一、

非打印字符

\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 在内)。

猜你喜欢

转载自blog.csdn.net/any1where/article/details/129135498