编译标志号16

时间:2013-07-04 05:41:02

标签: python regex

16号是什么意思?还有其他数字选项吗?

re.compile('(<.*?>)', flags=16)

据我所知,旗帜应该像re.I

2 个答案:

答案 0 :(得分:4)

传递给re.compile的标志就是所谓的'bitfield'或'bitset'或'bitwise flags'。

您可以传递的每个标志都有不同的值 - 1,2,4,8,16,32等......

这些值是特殊的 - 它们是2的完美幂。当你查看二进制数时,它们只设置一位而对其他位无效 - 2是0b10,4是0b100,8是0b1000,16是0b10000等。这意味着您可以通过使每个标志==一个单独的位来指定单个整数中每个标志的存在和不存在。例如,12是两个标志--4和8,因为它是0b1100。

答案 1 :(得分:1)

这只是一个“常数”。

>>> re.S
16

当然,您应该始终写flags=re.S而不是flags=16,但结果是一样的。