regex
– Tools for representing MongoDB regular expressions¶
New in version 2.7.
Tools for representing MongoDB regular expressions.
- class bson.regex.Regex(pattern: bson.regex._T, flags: Union[str, int] = 0)¶
BSON regular expression data.
This class is useful to store and retrieve regular expressions that are incompatible with Python’s regular expression dialect.
- Parameters
pattern: string
flags: (optional) an integer bitmask, or a string of flag characters like “im” for IGNORECASE and MULTILINE
- classmethod from_native(regex: Pattern[bson.regex._T]) bson.regex.Regex[bson.regex._T] ¶
Convert a Python regular expression into a
Regex
instance.Note that in Python 3, a regular expression compiled from a
str
has there.UNICODE
flag set. If it is undesirable to store this flag in a BSON regular expression, unset it first:>>> pattern = re.compile('.*') >>> regex = Regex.from_native(pattern) >>> regex.flags ^= re.UNICODE >>> db.collection.insert_one({'pattern': regex})
- Parameters
regex: A regular expression object from
re.compile()
.
Warning
Python regular expressions use a different syntax and different set of flags than MongoDB, which uses PCRE. A regular expression retrieved from the server may not compile in Python, or may match a different set of strings in Python than when used in a MongoDB query.
- try_compile() Pattern[bson.regex._T] ¶
Compile this
Regex
as a Python regular expression.Warning
Python regular expressions use a different syntax and different set of flags than MongoDB, which uses PCRE. A regular expression retrieved from the server may not compile in Python, or may match a different set of strings in Python than when used in a MongoDB query.
try_compile()
may raisere.error
.