code: def match(self, pattern, context=None):
          
          matches = []
          regex = pattern
          if regex == '*':
              regex = '.*'
          regex = re.compile(regex)
          for choice in self.choices(context):
              if regex.search(choice):
                  matches.append(choice)
          return matches
docs: This method returns a (possibly empty) list of strings that
          match the regular expression ``pattern`` provided.  You can
          also provide a ``context`` as described above.
  
          This method calls ``choices`` to get a list of all possible
          choices and then filters the list by performing a regular
          expression search on each choice using the supplied ``pattern``.