ure – simple regular expressions

Warning

Though this MicroPython-based library may be available for use in some builds of CircuitPython, it is unsupported and its functionality may change in the future, perhaps significantly. As CircuitPython continues to develop, it may be changed to comply more closely with the corresponding standard Python library. You will likely need to change your code later if you rely on any non-standard functionality it currently provides.

This module implements a subset of the corresponding CPython module, as described below. For more information, refer to the original CPython documentation: re.

This module implements regular expression operations. Regular expression syntax supported is a subset of CPython re module (and actually is a subset of POSIX extended regular expressions).

Supported operators are:

'.'
Match any character.
'[...]'
Match set of characters. Individual characters and ranges are supported, including negated sets (e.g. [^a-c]).

'^'

'$'

'?'

'*'

'+'

'??'

'*?'

'+?'

'|'

'(...)'
Grouping. Each group is capturing (a substring it captures can be accessed with match.group() method).

NOT SUPPORTED: Counted repetitions ({m,n}), more advanced assertions (\b, \B), named groups ((?P<name>...)), non-capturing groups ((?:...)), etc.

Functions

ure.compile(regex_str[, flags])

Compile regular expression, return regex object.

ure.match(regex_str, string)

Compile regex_str and match against string. Match always happens from starting position in a string.

ure.search(regex_str, string)

Compile regex_str and search it in a string. Unlike match, this will search string for first position which matches regex (which still may be 0 if regex is anchored).

ure.DEBUG

Flag value, display debug information about compiled expression.

Regex objects

Compiled regular expression. Instances of this class are created using ure.compile().

regex.match(string)
regex.search(string)

Similar to the module-level functions match() and search(). Using methods is (much) more efficient if the same regex is applied to multiple strings.

regex.split(string, max_split=-1)

Split a string using regex. If max_split is given, it specifies maximum number of splits to perform. Returns list of strings (there may be up to max_split+1 elements if it’s specified).

Match objects

Match objects as returned by match() and search() methods.

match.group([index])

Return matching (sub)string. index is 0 for entire match, 1 and above for each capturing group. Only numeric groups are supported.