def _check_regexp(self): if self._regexp is None: try: # Remove capturing parentheses -- if the regexp contains any # capturing parentheses, then the behavior of re.findall and # re.split will change. self._regexp = compile_regexp_to_noncapturing(self._pattern, self._flags) except re.error as e: raise ValueError('Error in regular expression %r: %s' % (self._pattern, e))
def __init__(self, pattern, gaps=False, discard_empty=True, flags=re.UNICODE | re.MULTILINE | re.DOTALL): # If they gave us a regexp object, extract the pattern. pattern = getattr(pattern, 'pattern', pattern) self._pattern = pattern self._gaps = gaps self._discard_empty = discard_empty self._flags = flags self._regexp = None # Remove capturing parentheses -- if the regexp contains any # capturing parentheses, then the behavior of re.findall and # re.split will change. try: self._regexp = compile_regexp_to_noncapturing(pattern, flags) except re.error as e: raise ValueError('Error in regular expression %r: %s' % (pattern, e))