首页 > 解决方案 > 如何在 Pyparsing 中编写字段定义,以免发生以下错误

问题描述

假设我想解析以下语句:

CREATE VIEW View_1 AS
SELECT sampleTable.empId,
       sampleTable.empName,
       sampleTable.dateJoining
FROM sampleTable
INNER JOIN TestTable ON sampleTable.empId = TestTable.empId

这是我的示例代码。

create_view_def = Literal("CREATE") + "VIEW" + Word(alphas, alphanums+"_") + "AS"
select_def = Literal("SELECT")
field_def = OneOrMore(Word(alphas, alphanums+"_\"':.-"))
# field_list_def = delimitedList(field_def, delim=",")
field_list_def = Group(delimitedList(field_def, delim=","))
select_all_def = select_def + field_list_def
from_def = Literal("FROM") + Word(alphas, alphanums+"_")
check_def = create_view_def + select_all_def + from_def
l = check_def.parseString(query)
print(l)

我收到错误:pyparsing.ParseException: Expected "FROM", found '=' 我希望解析到 FROM 然后为 JOIN 添加定义

标签: pythonpyparsing

解决方案


推荐阅读