Python常用正则表达式符号浅析

2018-10-15 18:09

阅读:629

对Python中正则表达式的理解,主要就是对符号的理解,本文即对Python中常用的正则表达式符号进行简析。其主要的符号有:

.
默认匹配一个字符,不包含换行符,如果设置DOTALL则匹配换行符

^
匹配行首

$
匹配行尾

*
匹配0个或者多个重复


匹配一个或者多个重复


匹配一个或者零个重复

*?,+?,??
按照非贪婪模式匹配

{m},{m,n},{m,n}?
分别匹配m个重复,m至n个重复,m至n个重复按照非贪婪模式

\
转义

[]
[abc],[a-z][^a-z]

或者匹配 ab
(...)
匹配组

(?iLmsux) (?:...) (?P<name>...) >>> re.match((?P<name>abc){2},abcabc).groupdict() {name: abc} (?P=name) >>> re.match(r(?P<name>abc)----(?P=name),abc----abc).group() abc----abc (?#...) #后面的内容为注释 (?=...)

匹配的字符串后面的内容需要匹配

>>> re.match(rphone(?=\d{3}),phone123).group() phone# (?!...)

匹配的字符后面内容不能匹配

>>> re.match(rphone(?!\d{3}),phoneabc123).group() phone (?<=...)

匹配的字符串前面需要匹配

(?<!...) 匹配的字符前面不能匹配

(?(id/name)yes-patternno-pattern)
\number
\A 匹配字符串的开头
\b 匹配单词边界

\B
\b的反义

\d 表示[0-9]
\D表示 [^0-9]
\s表示 [ \t\r\n\f\v]
\S 为非空白字符
\w等价于 [a-zA-Z0-9]
\W \w的反义

\Z 匹配字符串的结束


评论


亲,登录后才可以留言!