Python正则表达式字符列表和语法实例
1. Python正则表达式字符和语法
符号 说明 实例 . 表示任意字符,如果说指定了 DOTALL 'abc' >>>'a.c' >>>结果为:'abc' 的标识,就表示包括新行在内的所有字符。 表示字符串开头。 表示字符串结尾。 'abc' >>>'^abc' >>>结果为:'abc' 'abc' >>>'abc$' >>>结果为:'abc' ^ $ *, +, ? '*'表示匹配前一个字符重复 0 次到无'abcccd' >>>'abc*' >>>结果为:'abccc' 限次,'+'表示匹配前一个字符重复 1次'abcccd' >>>'abc+' >>>结果为:'abccc' 到无限次,'?'表示匹配前一个字符重复 'abcccd' >>>'abc?' >>>结果为:'abc' 0 次到1次 前面的*,+,?等都是贪婪匹配,也就是尽可能多匹配,后面加?号使其变成惰性匹配即非贪婪匹配 匹配前一个字符 m 次 匹配前一个字符 m 到 n 次 匹配前一个字符 m 到 n 次,并且取尽可能少的情况 对特殊字符进行转义,或者是指定特殊序列 失去特殊意义,只有: ^ - ] \\ 含有特殊含义 'abc' >>>'abc*?' >>>结果为:'ab' 'abc' >>>'abc??' >>>结果为:'ab' 'abc' >>>'abc+?' >>>结果为:'abc' 'abcccd' >>>'abc{3}d' >>>结果为:'abcccd' 'abcccd' >>> 'abc{2,3}d' >>>为:'abcccd' 结果*?, +?, ?? {m} {m,n} {m,n}? \\ 'abccc' >>> 'abc{2,3}?' >>>结果为:'abcc' 'a.c' >>>'a\\.c' >>> 结果为: 'a.c' [] 表示一个字符集,所有特殊字符在其都'abcd' >>>'a[bc]' >>>结果为:'ab' | 或者,只匹配其中一个表达式 ,如果|没有被包括在()中,则它的范围是整个正则表达式 'abcd' >>>'abc|acd' >>>结果为:'abc' ( … ) 被括起来的表达式作为一个分组. 'a123d' >>>'a(123)d' >>>结果为:'123' findall 在有组的情况下只显示组的内容 注释,忽略括号内的内容 特殊构建不作为分组 表达式’…’之前的字符串,特殊构建不作为分组 后面不跟表达式’…’的字符串,特殊构建不作为分组 跟在表达式’…’后面的字符串符合括号之后的正则表达式,特殊构建不作为分组 取消优先打印分组的内容 指定Key 'abc123' >>>'abc(?#fasd)123' >>>结果为:'abc123' 在字符串’ pythonretest ’中 (?=test) 会匹配’ pythonre ’ 如果’ pythonre ’后面不是字符串’ test ’,那么 (?!test) 会匹配’ pythonre ’ 正则表达式’ (?<=abc)def ’会在’ abcdef ’中匹配’ def ’ 'abc' >>>'(?:a)(b)' >>>结果为'[b]' 'abc' >>>'(?P
2. Python特殊表达式序列
特殊表达式序列 \\A \\b \\B \\d \\D \\s \\S \\w \\W \\Z
说明 只在字符串开头进行匹配。 匹配位于开头或者结尾的空字符串 匹配不位于开头或者结尾的空字符串 匹配任意十进制数,相当于 [0-9] 匹配任意非数字字符,相当于 [^0-9] 匹配任意空白字符,相当于 [ \\t\\n\\r\\f\\v] 匹配任意非空白字符,相当于 [^ \\t\\n\\r\\f\\v] 匹配任意数字和字母,相当于 [a-zA-Z0-9_] 匹配任意非数字和字母的字符,相当于 [^a-zA-Z0-9_] 只在字符串结尾进行匹配
Python正则表达式字符列表和语法实例 - 图文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)