(name, value, dummy0, dummy1)
Encode a python regex or bson.regex.Regex.
Encode a python regex or bson.regex.Regex.
Encode a python regex or bson . regex . Regex .
def _encode_regex(name, value, dummy0, dummy1):
    """Encode a python regex or bson.regex.Regex."""
    flags = value.flags
    # Python 2 common case
    if flags == 0:
        return b"\x0B" + name + _make_c_string_check(value.pattern) + b"\x00"
    # Python 3 common case
    elif flags == re.UNICODE:
        return b"\x0B" + name + _make_c_string_check(value.pattern) + b"u\x00"
    else:
        sflags = b""
        if flags & re.IGNORECASE:
            sflags += b"i"
        if flags & re.LOCALE:
            sflags += b"l"
        if flags & re.MULTILINE:
            sflags += b"m"
        if flags & re.DOTALL:
            sflags += b"s"
        if flags & re.UNICODE:
            sflags += b"u"
        if flags & re.VERBOSE:
            sflags += b"x"
        sflags += b"\x00"
        return b"\x0B" + name + _make_c_string_check(value.pattern) + sflags
def _encode_regex ( name , value , dummy0 , dummy1 ) : flags = value . flags # Python 2 common case if flags == 0 : return b"\x0B" + name + _make_c_string_check ( value . pattern ) + b"\x00" # Python 3 common case elif flags == re . UNICODE : return b"\x0B" + name + _make_c_string_check ( value . pattern ) + b"u\x00" else : sflags = b"" if flags & re . IGNORECASE : sflags += b"i" if flags & re . LOCALE : sflags += b"l" if flags & re . MULTILINE : sflags += b"m" if flags & re . DOTALL : sflags += b"s" if flags & re . UNICODE : sflags += b"u" if flags & re . VERBOSE : sflags += b"x" sflags += b"\x00" return b"\x0B" + name + _make_c_string_check ( value . pattern ) + sflags