import re


def evaluate_job_file(filename: str, metrics: list) -> tuple:
    """
    Receive an filename and metrics (list of dicts containing metrics)
    and return an poor level and words with match
    """
    poor_level = 0
    words = []

    with open(filename) as file:
        content = file.read()

    for metric in metrics:
        lower_term = metric['Terms'].lower()
        pattern = r'\b{}\b'.format(lower_term)
        lower_content = content.lower()

        if re.search(pattern, lower_content):
            poor_level += int(metric['Poor level'])
            words.append(metric['Terms'])

    return poor_level, words