def get_match_all(*args):
    """
    :param args: each argument is a pattern to be found in the error text
    :return: regular expression pattern that matches the string only if each argument pattern is found

    Example:

    >>> get_match_all("a", "b")
    '(?is)(?=.*a)(?=.*b)'
    """

    # (?is) means "ignore case" and "dot matches newline character"
    return "(?is)" + "".join(f"(?=.*{arg})" for arg in args)