def __init__(self, pattern: str, invert_match: bool = False, error_tag: str = None, error_message: str = None): """Initialize the class instance.""" super().__init__(error_tag, error_message if error_message else "pattern '{}'".format(pattern)) self.pattern = pattern self.invert_match = invert_match try: self.regex = re.compile(XMLToPython(pattern)) except RegularExpressionError: raise InvalidArgument(pattern) from None
def _eval(self, xctx: XPathContext) -> bool: lres, rres = self._eval_ops_string(xctx) try: return re.match(XMLToPython(rres), lres) is not None except RegularExpressionError: raise InvalidArgument(rres) from None