admin 管理员组

文章数量: 887021

正则表达式3,\A,\Z,\b,\B,\d,\D,\s,\S,\w.\W,re.compile

【1701H1】【穆晨】【180201】第114天总结

我爱学习,学习使我快乐


\A匹配输入字符串的开始位置

\Z匹配输入字符串的结束位置

‘^’(脱字符)匹配输入字符串的开始位置,如果设置了re.MULTILINE标志,‘^’也匹配换行符之后的位置

‘$’匹配输入字符串的结束位置,如果设置了re.MULTILINE标志,‘^’也匹配换行符之前的位置


\b匹配一个单词边界,单词定义为Unidcode的字母数字或下划线字符

上面只匹配出2个study,其中中间的没匹配出来,因为有下划线,不是单词边界

\A,\Z,\b,^,$都是零宽断言

\B匹配非单词边界,跟\b相反


\d 对于Unicode(str类型)模式:匹配任何一个数字,包括[0-9]和其他数字字符;如果开启了re.ASCII,只匹配 [0-9]

对于8位(bytes类型)模式:匹配[0-9]中任何一个数字

\D与\d相反,如果开启了re.ASCII,只匹配 [^0-9]


\s 对于Unicode(str类型)模式:匹配Unicode中的空白字符(包括[\t\n\v\f\r]以及其他空白字符);如果开启了re.ASCII标志,就只匹配[\t\n\f\v\r]

对于8位(bytes类型)模式:匹配[0-9]中任何一个数字

\S与\s相反,如果开启了re.ASCII标志,就只匹配[^\t\n\f\v\r]

\r回车\f换页\v垂直的TAB


\w于Unicode(str类型)模式:匹配任何Unicode的单词字符,基本上所以语言的字符都可以匹配,包括数字和下划线,如果开启了re.ASCII,只匹配[0-9a-zA-Z_]

对于8位(bytes类型)模式:匹配ASCII中定义的字母数字,即[a-zA-Z0-9_]

\W与\w相反,如果开启了re.ASCII,只匹配[^0-9a-zA-Z_]

正则表达式还支持大部分python字符串的转义符号:\a,\b,\f,\n,\r,\t,\v,\x,\\,\u,\U

\b通常只匹配一个单词边界,只有字符类中才表示‘退格’

\u,\U只有在Unicode模式下才被识别

八进制转义(\数字)是有限制的,如果第一个数字是0,或者如果有3个八进制数字,那么就被认为是八进制数字;其它情况则被认为是子组引用;至于字符串,八进制转义总是最多只能是3个数字的长度


如果你需要重复地使用某个正则表达式,那么你可以先将正则表达式编译成模式对象

可以用repile()方法来编译……

编译标志:

用来修改正则表达式的工作方式,在re模式,编译标志有完整名,简写

ASCII,A使得转义符号\w,\b,\s,\d只能匹配ASCII字符

DOTALL,S使得‘.’匹配任何符号,包括换行符

IGNORECASE,I匹配的时候不区分大小写

LOCALE,L支持当前的语言(区域)设置

MULTILINE,M多行匹配,影响^$

VERBOSE,X(for'extended')启用详细的正则表达式


本文标签: 正则表达式3,A z b D