什么是类似谷歌搜索查询的优秀python解析器?

Boa*_*oaz 17 python string-parsing

对于一些基于搜索的代码(在Python中),我需要编写一个查询语法解析器来解析一个简单的类似google的查询语法.例如:

所有这些单词"with this phrase"或者OR this site:within.site filetype:ps from:lastweek

随着搜索变得越来越流行,我希望能够轻松找到一个python库来做这件事,从而避免重新发明轮子.可悲的是,谷歌上的搜索并没有太多收益.

对于这个简单的任务,你会推荐什么作为python解析库?

Ale*_*lli 8

虽然ply是一种更经典的方法(lexx + yacc的Pythonic变体),因此如果你已经熟悉这种传统工具可能更容易上手,pyparsing是高度pythonic并且将是我的最佳推荐,特别是对于这样的简单任务(实际上更像是lexing而不是"全面"解析...至少在你想要允许嵌套的括号之前,但是pyparsing不会真正受到那些人的困扰;-).

  • 感谢插头,Alex!pyparsing示例页面包括一个简单的搜索查询解析器(http://pyparsing.wikispaces.com/file/view/sea​​rchparser.py),而Whoosh搜索库(http://whoosh.ca/)使用pyparsing进行查询解析. (3认同)