code: def match(self, path):
          '''Match a path and return ``None`` if no matching, otherwise
          a dictionary of matched variables with values. If there is more
          to be match in the path, the remaining string is placed in the
          ``__remaining__`` key of the dictionary.'''
          match = self._regex.search(path)
          if match is not None:
              remaining = path[match.end():]
              groups = match.groupdict()
              result = {}
              for name, value in groups.items():
                  try:
                      value = self._converters[name].to_python(value)
                  except Http404:
                      return
                  result[str(name)] = value
              if remaining:
                  result['__remaining__'] = remaining
              return resulf match(self, path):
          '''Match a path and return ``None`` if no matching, otherwise
          a dictionary of matched variables with values. If there is more
          to be match in the path, the remaining string is placed in the
          ``__remaining__`` key of the dictionary.'''
          match = self._regex.search(path)
          if match is not None:
              remaining = path[match.end():]
              groups = match.groupdict()
              result = {}
              for name, value in groups.items():
                  try:
                      value = self._converters[name].to_python(value)
                  except Http404:
                      return
                  result[str(name)] = value
              if remaining:
                  result['__remaining__'] = remaining
              return result
docs: Match a path and return ``None`` if no matching, otherwise
          a dictionary of matched variables with values. If there is more
          to be match in the path, the remaining string is placed in the
          ``__remaining__`` key of the dictionary.