0

我需要能够以编程方式扩展用户的搜索表达式,例如:X w/5 (Y || Z) to "X Y"~5 || “X Z”~5
有没有我可以利用的现有库来做这种事情?如果不是,推荐什么方法?该解决方案将存在于 .NET 环境中。

4

2 回答 2

1

您需要的是一个解析器,它将创建一个抽象语法树,然后您可以对其进行操作。看看这里

于 2012-06-26T20:37:43.207 回答
1

你会想看看合取范式http://en.wikipedia.org/wiki/Conjunctive_normal_form和析取范式 http://en.wikipedia.org/wiki/Disjunctive_normal_form。

您可以实现一种算法以及指向 java 实现的链接。

于 2012-06-26T20:40:43.463 回答