'Retrieves the nearest previous matches.
:param match:
:type match:
:param predicate:
:type predicate:
:param index:
:type index: int
:return:
:rtype:'

def previous(self, match, predicate=None, index=None):

    current = match.start
    while (current > (-1)):
        previous_matches = self.ending(current)
        if previous_matches:
            return filter_index(previous_matches, predicate, index)
        current -= 1
    return filter_index(_BaseMatches._base(), predicate, index)
