docs: def match(self, path):
          '''Attempts to match a url to the given path. If successful, a tuple is
          returned. The first item is the matchd function and the second item is
          a dictionary containing items to be passed to the function parsed from
          the provided path.
  
          If the provided path does not match this url rule then a
          NotFoundException is raised.
          '''
          m = self._regex.search(path)
          if not m:
              raise NotFoundException
  
          # urlunencode the values
          items = dict((key, unquote_plus(val))
                       for key, val in m.groupdict().items())
  
          # unpickle any items if present
          items = unpickle_dict(items)
  
          # We need to update our dictionary with default values provided in
          # options if the keys don't already exist.
          [items.setdefault(key, val) for key, val in self._options.items()]
          return self._view_func, items