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