in awswrangler/data_quality/_utils.py [0:0]
def _parse_rules(rules: list[str]) -> list[tuple[str, str | None, str | None]]:
parsed_rules: list[tuple[str, str | None, str | None]] = []
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