【发布时间】:2022-01-04 11:04:14
【问题描述】:
我有一个命令行工具,它通过
读取输入字符串input = ...
现在,我想检查不同情况的输入字符串(有多少字,第二个字是数字,关键字,...)。基本上,我想根据常规语法解析字符串。我只有少数案例,但所有 if 语句看起来都很糟糕。此外,匹配/大小写在这里并没有真正的帮助,因为我想检查一个单词是否代表一个数字等条件。
有没有实现语法解析器的python包?
【问题讨论】:
-
一般来说,你无法避免编程。有很多模块,您可以使用built-in methods of
str和/或regular expressions 覆盖大多数情况。如果你有一些特定的任务,你可以询问它,但当前的问题太宽泛,无法给出准确的答案。 P.S.请勿使用input或任何其他内置名称class/function作为变量名称。 -
不幸的是,要求图书馆或其他场外资源在这里显然是无关紧要的,因为它们以无序的答案列表结尾,每个答案都提供了他们使用的图书馆。但如果你习惯 lex 和 yacc 解析(BNF 语法),PLY 是它的 Python 端口。
标签: python python-3.x string parsing grammar