\
        Given multiple=False, this will simply return the first matching
        regexes first handler; otherwise, this will return a list of all
        the matching handler function(s).

        If rank_best was set on the parser, this will attempt to "rank" the
        regexes, and will return the highest ranked handler(s).

        Returns (matches, args, kwargs) - it's up to the caller to apply these
        and test whether f.options["inject"]/f.no_args is set, etc.

def best_guess(self, line, args=None, kwargs=None, multiple=True, **options):
        """\
        Given multiple=False, this will simply return the first matching
        regexes first handler; otherwise, this will return a list of all
        the matching handler function(s).

        If rank_best was set on the parser, this will attempt to "rank" the
        regexes, and will return the highest ranked handler(s).

        Returns (matches, args, kwargs) - it's up to the caller to apply these
        and test whether f.options["inject"]/f.no_args is set, etc.
        """
        cmd, _args, _kwargs = self.parse(line)
        if args is None:
            args = _args
        if kwargs is None:
            kwargs = _kwargs
        matches = []
        for regex, funcs in self.handlers.items():
            if not regex.findall(cmd):
                continue
            if not multiple:
                return ((funcs[0], args, kwargs)
                         if len(funcs) > 0
                         else (None, args, kwargs))
            matches.append(funcs)
        if self.rank_best:
            # TODO: rank regexes.
            pass
        return (matches, args, kwargs)