def is_contained(e1, e2):
    """ Checks if regex match e2 is contained (overlapping) in regex match e1
    ex :
        e1 = (0, 10, "cde abc ghf") and e2 = (4, 6, "abc")

    e2 is contained in e1 (shown in the start/end indices of the match)
    Each tuple is (match_start_index, match_end_index, string_matched)
    :param e1   : regex-matched element
    :type e1    : str
    :param e2   : regex-matched element
    :type e2    : str
    :return     : True if e2 is contained in e1
    :rtype      : bool
    """
    return e1[0] < e2[1] and e1[1] < e2[1]