geowatch.utils.util_regex module

Port from ~/code/xdev/xdev/regex_builder.py

class geowatch.utils.util_regex.VimRegexBuilder[source]

Bases: _AbstractRegexBuilder

class geowatch.utils.util_regex.PythonRegexBuilder[source]

Bases: _AbstractRegexBuilder

Contains helper methods to construct a regex

Example

>>> b = PythonRegexBuilder()
>>> pat_text = b.lookbehind('_') + r'v\d+' + b.optional(b.lookahead('_'))
>>> pat = re.compile(pat_text)
>>> print(pat.search('_v321_').group())
v321
>>> print(pat.search('_v321').group())
v321
>>> print(pat.search('fdsfds_v321_fdsfsd').group())
v321
>>> print(pat.search('fdsfds_v321fdsfsd').group())
v321
>>> print(pat.search('fdsfdsv321fdsfsd'))
None