ure – Regular Expression
2023-08-31
This feature matches data by regular expression.
Currently, only a few operators are supported.
Example
import ure
res = '''
$GNRMC,133648.00,A,3149.2969,N,11706.9027,E,0.055,,311020,,,A,V*18
$GNGGA,133648.00,3149.2969,N,11706.9027,E,1,24,1.03,88.9,M,,M,,*6C
$GNGLL,3149.2969,N,11706.9027,E,133648.00,A,A*7A
$GNGSA,A,3,31,26,11,194,27,195,08,09,03,193,04,16,1.41,1.03,0.97,1*31
'''
r = ure.search("GNGGA(.+?)M", res)
print(r.group(0))
Compile and Generate Regular Expression
ure.compile
ure.compile(regex)
Compiles a regular expression and generates a regular-expression object, used by ure.match() and ure.search().
Parameter
regex
– String type. A regular expression.
Match Regular Expression
ure.match
ure.match(regex, string)
Matches the compiled regular expression against string. Match always happens from the start position in a string.
Parameter
regex
– String type. A regular expression.string
– The string to be matched.
Return Value
- A matched object – Successful execution
- None – Failed execution
Search Regular Expression
ure.search
ure.search(regex, string)
Searches for the compiled regular expression in string and returns the first successful match.
Parameter
regex
– String type. A regular expression.string
– The string in which you search for the compiled regular expression
Return Value
- A matched object – Successful execution
- None – Failed execution
Match Single String
match.group
match.group(index)
Matches objects as returned by ure.match() and ure.search().
Parameter
index
– Integer type. The index of the groups of the match. In a regular expression, match.group() proposes the string captured by grouping. index is 0 for the entire match. index is captured by the compiled regular expression and an error occurs when the group does not exist.
Return Value
- The string matching the entire regular expression.
Constants
Supported Operators
‘.’
– Character type. Match any character.‘[]’
– Character type. Match set of characters. Individual characters and ranges are supported, including negated sets.‘^’
– Character type. Match the start of the string.‘$’
– Character type. Match the end of the string.‘?’
– Character type. Match zero or one of the previous sub-pattern.‘*’
– Character type. Match zero or more of the previous sub-pattern.‘+’
– Character type. Match one or more of the previous sub-pattern.‘??’
– Character type. Non-greedy version of?
, match zero or one.‘*?’
– Character type. Non-greedy version of*
, match zero or more.‘+?’
– Character type. Non-greedy version of+
, match one or more.‘\|’
– Character type. Match either the left-hand side or the right-hand side sub-patterns of this operator.‘\d’
– Character type. Match digit.‘\D’
– Character type. Match non-digit.‘\s’
– Character type. Match whitespace.‘\S’
– Character type. Match non-whitespace.‘\w’
– Character type. Match "word characters" (ASCII only).‘\W’
– Character type. Match "word characters" (ASCII only).
Not Supported Operators
‘{m,n}’
– Counted repetitions.‘(?P<name>...)’
– Named groups.‘(?:...)’
– Non-capturing groups.‘\b’
– More advanced assertions.‘\B’
– More advanced assertions.‘\r’
– Special character escapes – use Python’s own escaping instead.‘\n’
– Special character escapes – use Python’s own escaping instead.