def METHOD_NAME(show_list):
    """Return expected titles to be used by guessit.
    It iterates over user's show list and only returns a regex for titles that contains numbers
    or dashes (since they can confuse guessit).
    :param show_list:
    :type show_list: list of medusa.tv.Series
    :return:
    :rtype: list of str
    """
    expected_titles = []
    for show in show_list:
        show_title = show.name
        exceptions = {alias.title for alias in show.aliases}
        for exception in exceptions:
            # Do not add only numbers to expected titles.
            if exception.isdigit():
                continue
            match = series_re.match(exception)
            if not match:
                continue
            # Add when show exception has a year (without brackets),
            # a number or '-' in its title.
            if any(char.isdigit() or char == '-' for char in match.group(1)):
                expected_titles.append(exception)
                continue
            # Add when show name is the same as exception,
            # to allow an explicit match.
            if show_title.casefold() == exception.casefold():
                expected_titles.append(exception)
                continue
        # Do not add only numbers to expected titles.
        if show_title.isdigit():
            continue
        match = series_re.match(show_title)
        if not match:
            continue
        # Add when show exception has a year (without brackets),
        # a number or '-' in its title.
        if any(char.isdigit() or char == '-' for char in match.group(1)):
            expected_titles.append(show_title)
            continue
    return expected_titles