import re class AnyStr(str): def __init__(self, prefix: str | re.Pattern = "") -> None: super().__init__() self.prefix = prefix def __eq__(self, other: object) -> bool: return isinstance(other, str) and ( other.startswith(self.prefix) if isinstance(self.prefix, str) else self.prefix.match(other) ) def __hash__(self) -> int: return hash((str(self), self.prefix))