ure
– simple regular expressions¶
This module implements a subset of the corresponding CPython
module,
as described below. For more information, refer to the original
CPython documentation: python: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]
). '^'
- Match the start of the string.
'$'
- Match the end of the string.
'?'
- Match zero or one of the previous entity.
'*'
- Match zero or more of the previous entity.
'+'
- Match one or more of the previous entity.
'??'
'*?'
'+?'
'|'
- Match either the LHS or the RHS of this operator.
'(...)'
- 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.
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.
sub
(regex_str, replace, string, count=0, flags=0)¶ Compile regex_str and search for it in string, replacing all matches with replace, and returning the new string.
replace can be a string or a function. If it is a string then escape sequences of the form
\<number>
and\g<number>
can be used to expand to the corresponding group (or an empty string for unmatched groups). If replace is a function then it must take a single argument (the match) and should return a replacement string.If count is specified and non-zero then substitution will stop after this many substitutions are made. The flags argument is ignored.
Note: availability of this function depends on
MicroPython port
.
-
ure.
DEBUG
¶ Flag value, display debug information about compiled expression. (Availability depends on
MicroPython port
.)
Regex objects¶
Compiled regular expression. Instances of this class are created using
ure.compile()
.
-
regex.
match
(string)¶ -
regex.
search
(string)¶ -
regex.
sub
(replace, string, count=0, flags=0)¶ Similar to the module-level functions
match()
,search()
andsub()
. 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, and passed
to the replacement function in sub()
.
-
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.
-
match.
groups
()¶ Return a tuple containing all the substrings of the groups of the match.
Note: availability of this method depends on
MicroPython port
.
-
match.
start
([index])¶ -
match.
end
([index])¶ Return the index in the original string of the start or end of the substring group that was matched. index defaults to the entire group, otherwise it will select a group.
Note: availability of these methods depends on
MicroPython port
.
-
match.
span
([index])¶ Returns the 2-tuple
(match.start(index), match.end(index))
.Note: availability of this method depends on
MicroPython port
.