Skip to main content

易于使用的模式匹配和信息提取

项目描述

动机

stringparser模块提供了一种简单的方法来匹配模式和提取字符串中的信息。由于模式是使用熟悉的格式字符串规范PEP 3101给出的,因此编写它们比编写正则表达式要容易得多(尽管功能较弱)。

例子

您可以构建一个可重用的解析器对象:

>>> parser = Parser('The answer is {:d}')
>>> parser('The answer is 42')
42
>>> parser('The answer is 54')
54

或直接:

>>> Parser('The answer is {:d}')('The answer is 42')
42

您可以检索许多字段:

>>> Parser('The {:s} is {:d}')('The answer is 42')
('answer', 42)

您可以使用编号字段对返回的元组进行排序:

>>> Parser('The {1:s} is {0:d}')('The answer is 42')
(42, 'answer')

或命名字段以返回 OrderedDict:

>>> Parser('The {a:s} is {b:d}')('The answer is 42')
OrderedDict([('a', 'answer'), ('b', 42)])

您可以使用 _ 作为名称忽略某些字段:

>>> Parser('The {_:s} is {:d}')('The answer is 42')
42

限制

  • 从格式字符串: [[fill]align][sign][#][0][minimumwidth][.precision][type]当前 仅实现typesign#。这可能会导致无法匹配某些符号,例如:

    • 十进制:'-4'写成'- 4'

    • ETC

  • 行从头到尾匹配。{:d} 不会返回字符串中的所有数字。为此使用正则表达式。

项目详情


下载文件

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

源分布

stringparser-0.5.tar.gz (6.4 kB 查看哈希

已上传 source