Python 正则表达式

2018/05/28 14:29 下午 posted in  Python

关于python的正则表达式

一、正则表达式符号

符号 功能 举例

字符串 匹配字符串的值 foo

re1|re2 匹配正则表达式re1或re2 foo|bar

. 匹配任何字符(换行符除外) b.b

^ 匹配字符串的开始 ^Dear(以Dear开头的字符串)

$ 匹配字符串的结尾 /bin/*sh (比配:/bin/bash、/bin/csh等)

* 匹配前面出现的正则表达式零次或 多次 [A-Zaz0-9]*

+ 匹配前面出现的正则表达式一次或 多次 [a-z]+.com

? 匹配前面出现正则表达式零次 或 一次 goo?

{N} 匹配前面出现的正则表达式N次 [0-9]{3}

{M,N} 匹配重复出现M次 到 N次正则表达式 [0-9]{5,9}

[...] 匹配字符组里出现的任意一个字符 [aeiou]

[x-y] 匹配从字符x到y中的任意一个字符 [0-9],[A-Za-z]

[^...] 不匹配字符集中出现的任何一个字符 [^aeiou],[^A-Za-z0-9]

(...) 匹配封闭括号中正则表达式(RE),并保存为子组 ([0-9]{3})?,f(00|u)bar

\d 匹配任何数字,和[0-9]一样(\D是\d的反义:任何非数字) data\d+.text

\w 匹配任何数字字母字符,和[A-Za-z0-9]相同 [A-Zq-z_]\w+

\s 匹配任何空白符号 of\sthe

\b 匹配单词边界 \bThe\b

\c 匹配特殊字符 .,\,*

\A(\Z) 匹配字符串的起始(结束) \ADear

二、正则表达式匹配举例

正则表达式模式 匹配的字符串

at|home at,home

r2d2|c3po r2d2,c3po

f.o fao,f9o等

.. aa,bb,ab等任意两个字符

.doc .doc

^From 匹配任何以From开始的字符串

/bin/tcsh$ 匹配以/bin/tcsh结束的字符串

^Subject:hi$ 匹配仅由Subject:hi组成字符串

the 任何包含"the"字符串

\bthe 任何以"the"开始的字符串

\bthe\b 仅匹配单词"the"

\Bthe 任意包含"the"但不以"the"开头的单词

b[aeiu]t bat, bet, bit, but

[cr][23][dp][o2] 一个包含 4 个字符的字符串: 第一个字符是“r”或“c”,后面是“2”或 “3”,再接下来是 “d” 或 “p”,最后是 “o” 或 “2“ ,例 如:c2do, r3p2, r2d2, c3po, 等等。

[r-u][env-y][us] “r”“s,”“t” 或 “u” 中的任意一个字符,后面跟的是 “e,” “n,” “v,” “w,” “x,” 或 “y”中的任意一个字符,再后面 是字符“u” 或 “s”.

[^aeiou] 一个非元音字符

[^\t\n] 除 TAB 制表符和换行符以外的任意一个字符

\w+@\w+.com 简单的 XXX@YYY.com 格式的电子邮件地址

\d+(.\d*)? 浮点数 匹配:0.004,”“2.”“75.”