如果我有一个关键字,一旦遇到关键字,我怎么能得到它来获取该行的其余部分并将其作为字符串返回?一旦遇到行尾,返回该行上的所有内容。
这是我正在查看的行:
description here is the rest of my text to collect
因此,当词法分析器遇到描述时,我希望“这是我要收集的其余文本”作为字符串返回
我定义了以下内容,但似乎引发了错误:
states = (
('bcdescription', 'exclusive'),
)
def t_bcdescription(t):
r'description '
t.lexer.code_start = t.lexer.lexpos
t.lexer.level = 1
t.lexer.begin('bcdescription')
def t_bcdescription_close(t):
r'\n'
t.value = t.lexer.lexdata[t.lexer.code_start:t.lexer.lexpos+1]
t.type="BCDESCRIPTION"
t.lexer.lineno += t.valiue.count('\n')
t.lexer.begin('INITIAL')
return t
这是返回的错误的一部分:
File "/Users/me/Coding/wm/wm_parser/ply/lex.py", line 393, in token
raise LexError("Illegal character '%s' at index %d" % (lexdata[lexpos],lexpos), lexdata[lexpos:])
ply.lex.LexError: Illegal character ' ' at index 40
最后,如果我想要这个功能用于多个令牌,我该如何实现呢?
谢谢你的时间