【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个数字的长度
如果你需要重复地使用某个正则表达式,那么你可以先将正则表达式编译成模式对象
可以用pile()方法来编译……
编译标志:
用来修改正则表达式的工作方式,在re模式,编译标志有完整名,简写
ASCII,A使得转义符号\w,\b,\s,\d只能匹配ASCII字符
DOTALL,S使得‘.’匹配任何符号,包括换行符
IGNORECASE,I匹配的时候不区分大小写
LOCALE,L支持当前的语言(区域)设置
MULTILINE,M多行匹配,影响^$
VERBOSE,X(for'extended')启用详细的正则表达式
如果觉得《正则表达式3 \A \Z \b \B \d \D \s \S \w.\W re.compile》对你有帮助,请点赞、收藏,并留下你的观点哦!