1
import ply.lex as lex
tokens=("NAME","REST")
t_REST='.'

def t_NAME(t) :
    r'\#define\s+(\w+)\s+(.+)'
    print(t.lexer.lexmatch.groups())

def t_error(t):
    print("ERROR")

lexer=lex.lex()
lexer.input('#define RAD 100')
for t in lexer:
    pass

该程序的输出是 -

('#define RAD 100', 'RAD', '100', None)

谁能解释一下如何t.lexer.lexmatch.groups()工作?

4

0 回答 0