docs: def lex(self, text):
          """Iterator that tokenizes `text` and yields up tokens as they are found"""
          for match in self.regex.finditer(text):
              name = match.lastgroup
              yield (name, match.group(name))