26-组合使用re.IGNORECASE、re.DOTALL和re.VERBOSE
7.14 组合使用re.IGNORECASE、re.DOTALL和re.VERBOSE
如果你希望在正则表达式中使用 re.VERBOSE
来编写注释,还希望使用 re.IGNORECASE
来忽略大小写,该怎么办?遗憾的是, re.compile()
函数只接收一个值作为它的第二参数。可以使用管道字符( |
)将变量组合起来,从而绕过这个限制。管道字符在这里称为“按位或”操作符。
所以,如果希望正则表达式不区分大小写,并且句点字符匹配换行符,就可以这样构造 re.compile()
调用:
>>> someRegexValue = re.compile('foo', re.IGNORECASE | re.DOTALL)
使用第二个参数的3个选项,看起来像这样:
>>> someRegexValue = re.compile('foo', re.IGNORECASE | re.DOTALL | re.VERBOSE)
这个语法有一点儿老,源自早期的Python版本。位运算符的细节超出了本书的范围,更多的信息请查看No Starch出版社官网本书的对应页面。可以向第二个参数传入其他选项,它们不常用,你可以在前面的资源中找到有关它们的信息。