def score_patterns_on_significance(matching_pattern_list):
    """
    left-most wildcard furtherest to right more significant
    :param matching_pattern_list: [pat1, pat2, ...]
    :return: list of tuples [(pat, score), ...] most significant first
    """
    score_list = []
    for p in matching_pattern_list:
        if p.find('*') >= 0:
            score_list.append((p, p.find('*')))
        else:
            score_list.append((p, len(p)))
    return sorted(score_list, key=lambda tup: tup[1], reverse=True)
