0

我正在尝试在 Python 中使用 lark 解析器来解析一些 sql 字符串。一些语句中包含 unicode 字符,导致解析器抛出错误(带有 ó,é 的字符串)。我正在使用以下几行在我的 .lark 文件中定义字符串

LATIN_LETTER: /[u"\u00a1-\u02af"]/
STRING: (LATIN_LETTER|LETTER|DIGIT|PUNCTUATION)+

抛出错误

E   UnexpectedCharacters: No terminal defined for '�' at line 154 col 126
E   
E   jillo', 'Owner', 'Avda. de la Constitución 2222', 'México D.F.', NULL, '05021'

我是否在 .lark 文件中错误地指定了 unicode 字母?这样做的正确方法是什么?

4

2 回答 2

1

改变

LATIN_LETTER: /[u"\u00a1-\u02af"]/

LATIN_LETTER: ("¡".."ʯ")

工作过

于 2020-06-10T19:39:54.700 回答
-1
CHINESE_LETTER: ("\u4e00".."\u9fff") | ("\u3000".."\u303f")
于 2021-07-15T08:58:49.773 回答