def METHOD_NAME(rules: List[str]) -> List[Tuple[str, Optional[str], Optional[str]]]:
    parsed_rules: List[Tuple[str, Optional[str], Optional[str]]] = []
    for rule in rules:
        rule_type, remainder = tuple(rule.split(maxsplit=1))
        if remainder.startswith('"'):
            expression_regex = r"\s+(?:[=><]|between\s+.+\s+and\s+|in\s+\[.+\]|matches\s+).*"
            expression_matches = re.findall(expression_regex, remainder)
            expression = None if len(expression_matches) == 0 else expression_matches[0].strip()
            parameter = remainder.split(expression)[0].strip() if expression else remainder
        else:
            expression = remainder
            parameter = None
        parsed_rules.append((rule_type, parameter, expression))
    return parsed_rules