Python的正则表达式使用的是re模块,re模块是python 的内置模块,不需要额外下载。
re模块中定义了9个常量, 使用方法如下:
用途:只匹配ASCII编码支持的字符, 这只对字符串匹配模式有效,对字节匹配模式无效
示例:
用途:匹配时忽略大小写
示例:
这个常量官方不推荐使用, 在此略过
用途:匹配unicode编码支持的字符, 由于python3默认是unicode编码,所有此常量在此略过
用途:使得^和$字符可以匹配任意行的开始与结束
示例:
用途:使"."号匹配任何字符, 包括换行符
示例:
用途:正则表达式可以换行书写,且可以加入注释
示例:此标志允许您通过允许您在视觉上分离模式的逻辑部分并添加注释来编写看起来更好且更具可读性的正则表达式。模式中的空格被忽略,除非在字符类中,或者前面有未转义的反斜杠,或者在 *?
, (?:
或 (?P<...>
等标记内。当一行包含不在字符类中的 #
并且前面没有未转义的反斜杠时,从最左边的 #
到行尾的所有字符都将被忽略。
用途:禁用回溯
示例:
这个常量的作用比较难理解,结合上面的两个图来说明一下
图一是没有使用TEMPLATE的情况, 匹配步骤如下:
图二是使用TEMPLATE的情况, 禁用了回溯, 匹配步骤如下:
用途:显示编译时的debug信息
示例:
PS:以上常量可以叠加使用, 叠加时请使用 |
符号 例如:re.I | re.A