跳转到主要内容

PyParsing模块 - 定义和执行解析语法的类和方法

项目描述

PyParsing - Python解析模块

Version Build Status Coverage License Python versions pyparsing

简介

PyParsing模块是一个创建和执行简单语法的替代方法,与传统的lex/yacc方法或正则表达式使用方法相比。PyParsing模块提供了一组类库,客户端代码使用这些类在Python代码中直接构建语法。

【自2003年底首次编写pyparsing的描述以来,这种开发解析器的方法已经变得更加普遍,被称为解析表达式语法 - PEGs。有关PEGs的更多信息,请参阅这里

以下是一个解析"Hello, World!"(或任何形式为"salutation, addressee!"的问候语)的程序

from pyparsing import Word, alphas
greet = Word(alphas) + "," + Word(alphas) + "!"
hello = "Hello, World!"
print(hello, "->", greet.parseString(hello))

程序输出以下内容

Hello, World! -> ['Hello', ',', 'World', '!']

由于类名具有自解释性,以及使用了‘+’,‘|’和‘^’运算符定义,Python语法表示非常易读。

parseString() 返回的解析结果是一个类型为 ParseResults 的集合,它可以作为一个嵌套列表、字典或具有命名属性的对象来访问。

PyParsing 模块处理了在编写文本解析器时通常令人烦恼的一些问题

  • 多余的或缺失的空白(上述程序也将处理 "Hello,World!""Hello , World !" 等)

  • 引号字符串

  • 嵌入的注释

示例目录包括一个简单的 SQL 解析器、简单的 CORBA IDL 解析器、配置文件解析器、化学公式解析器和四则运算代数表示解析器等。

文档

在 PyParsing 中类和方法的在线 docstrings 中有许多示例。您可以在 在线文档 中找到它们。额外的文档资源和项目信息列在在线 GitHub wiki 中。完整的示例目录可以在 这里 找到。

许可证

MIT 许可。请参阅 pyparsing __init__.py 文件头部。

历史

请参阅 CHANGES 文件。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

pyparsing-3.1.4.tar.gz (900.2 kB 查看哈希值)

上传时间 源代码

构建分发

pyparsing-3.1.4-py3-none-any.whl (104.1 kB 查看哈希值)

上传时间 Python 3