正则表达式是我们在学习软件编程开发的时候需要重点学习的一种代码选择方式,而今天我们就一起来了解一下,正则表达式在python编程中的应用方式。
1.IGNORECASE
语法:re.IGNORECASE或简写为re.I
作用:进行忽略大小写匹配。
在默认匹配模式下大写字母B无法匹配小写字母b,而在忽略大小写模式下是可以的。
2.ASCII
语法:re.ASCII或简写为re.A
作用:顾名思义,ASCII表示ASCII码的意思,让\w,\W,\b,\B,\d,\D,\s和\S只匹配ASCII,而不是Unicode。
在默认匹配模式下\w+匹配到了所有字符串,而在ASCII模式下,只匹配到了a、b、c(ASCII编码支持的字符)。
注意:这只对字符串匹配模式有效,对字节匹配模式无效。
3.DOTALL
语法:re.DOTALL或简写为re.S
作用:DOT表示.,ALL表示所有,连起来就是.匹配所有,包括换行符\n。默认模式下.是不能匹配行符\n的。
在默认匹配模式下.并没有匹配换行符\n,而是将字符串分开匹配;而在re.DOTALL模式下,换行符\n与字符串一起被匹配到。
注意:默认匹配模式下.并不会匹配换行符\n。
4.MULTILINE
语法:re.MULTILINE或简写为re.M
作用:多行模式,当某字符串中有换行符\n,默认模式下是不支持换行符特性的,比如:行开头和行结尾,而多行模式下是支持匹配行开头的。
正则表达式中^表示匹配行的开头,默认模式下它只能匹配字符串的开头;而在多行模式下,它还可以匹配换行符\n后面的字符。
注意:正则语法中^匹配行开头、\A匹配字符串开头,单行模式下它两效果一致,多行模式下\A不能识别\n。
5.VERBOSE
语法:re.VERBOSE或简写为re.X
作用:详细模式,可以在正则表达式中加注解!
默认模式下并不能识别正则表达式中的注释,而详细模式是可以识别的。
当一个正则表达式十分复杂的时候,详细模式或许能为你提供另一种注释方式,但它不应该成为炫技的手段,建议谨慎考虑后使用!
6.LOCALE
语法:re.LOCALE或简写为re.L
作用:由当前语言区域决定\w,\W,\b,\B和大小写敏感匹配,这个标记只能对byte样式有效。这个标记官方已经不推荐使用,因为语言区域机制很不可靠,它一次只能处理一个"习惯”,而且只对8位字节有效。
注意:由于这个标记官方已经不推荐使用,而且猪哥也没使用过,所以就不给出实际的案例!
7.UNICODE
语法:re.UNICODE或简写为re.U
作用:与ASCII模式类似,匹配unicode编码支持的字符,但是Python3默认字符串已经是Unicode,所以有点冗余。
8.DEBUG
语法:re.DEBUG
作用:显示编译时的debug信息。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!