docs: def _remove_match(self, match):
          """
          Remove a match
          :param match:
          :type match: Match
          """
          if self.__name_dict is not None:
              if match.name:
                  _BaseMatches._base_remove(self._name_dict[match.name], match)
          if self.__tag_dict is not None:
              for tag in match.tags:
                  _BaseMatches._base_remove(self._tag_dict[tag], match)
          if self.__start_dict is not None:
              _BaseMatches._base_remove(self._start_dict[match.start], match)
          if self.__end_dict is not None:
              _BaseMatches._base_remove(self._end_dict[match.end], match)
          if self.__index_dict is not None:
              for index in range(*match.span):
                  _BaseMatches._base_remove(self._index_dict[index], match)
          if match.end >= self._max_end and not self._end_dict[match.end]:
              self._max_end = max(self._end_dict.keys())