我需要一个模式解释和规则生成系统。基本上它的工作原理是它应该解析文本并从中解释模式,并且基于这些解释,我需要输出一组规则。这是一个例子。假设我有一个看起来像的 HTTP 标头
GET https://website.com/api/1.0/download/8hqcdzt9oaq8llapjai1bpp2q27p14ah/2139379149 HTTP/1.1
Host: website.com
User-Agent: net.me.me/2.7.1;OS/iOS-5.0.1;Apple/iPad 2 (GSM)
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
解析器将运行并输出
req-hdr-pattern: "^GET[ ].*/api/1\\.0/download/{STRING:auth_token}/{STRING:id}[].*website\\.com"
上述规则包含正则表达式的修改版本。每个变量,例如 STRING:auth_token 或 STRING:id 都将被提取。
为了解析文本(在这种情况下为标题),我必须告诉解析器它需要提取“下载”之后的任何内容。所以基本上有一组规则的定义,这个解析器将使用这些规则来解析文本并最终输出最终规则。
现在的问题是,python 中有没有这样的模块可用于模式匹配、检测、生成可以帮助我解决这个问题?这有点像编译器的解析器部分。在深入尝试自己制作一个之前,我想问一下。有什么帮助吗?