2

16という数字は何を意味していますか?数字の他のオプションはありますか?

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

私の知る限り、フラグは re.I のようにする必要があります

4

2 に答える 2

4

re.compile に渡されるフラグは、'bitfield' または 'bitset' または 'bitwise flags' と呼ばれるものです。

渡すことができるすべてのフラグには、1、2、4、8、16、32 などの異なる値があります。

これらの値は特殊です - それらは 2 の完全なべき乗です。数値を 2 進数で表示すると、ちょうど 1 ビットを設定し、他のビットには何もしません - 2 は 0b10、4 は 0b100、8 は 0b1000、16 は 0b10000 などです。の上。つまり、各フラグ == を 1 つの個別のビットにすることで、各フラグの有無を 1 つの整数で指定できます。たとえば、12 は 0b1100 であるため、4 と 8 の 2 つのフラグです。

于 2013-07-04T05:45:38.640 に答える
1

あくまで「定数」です。

>>> re.S
16

もちろん、常にflags=re.Sの代わりに書く必要がありますflags=16が、結果は同じです。

于 2013-07-04T05:44:04.680 に答える