import re


def check_rules(rules, text_list, current_labels, fallback_label):
    """Finds rule's match in a text and returns list of labels to attach.
    If no rule matches returns False for match and fallback label will be attached.
    
    Args:
        rules (list): List of rules
        text_list (list): List of strings to search in
        current_labels (list): List of already attached labels
        fallback_label (str): Label to attach if no rule matches
    Returns:
        tuple: (match, labels)

            match (bool): True if any rule matches, False otherwise
            labels (list): List of labels to attach
    """
    labels = set()
    match = False
    for rule in rules:
        for text in text_list:
            result = re.search(rule["pattern"], text)
            if result is not None:
                match = True
                if rule["label"] not in current_labels:
                    labels.add(rule["label"])
    # fallback label
    if not match:
        if fallback_label not in current_labels:
            labels.add(fallback_label)
    return match, labels