[英]programatically expand X w/5 (Y || Z) to “X Y”~5 || “X Z”~5
我需要能够以编程方式扩展用户的搜索表达式,例如:X w / 5(Y || Z)到“XY”~5 || “XZ” 〜5
我可以利用现有的库来做这种事情吗? 如果没有,建议采用什么方法? 此解决方案将存在于.NET环境中。
您需要的是一个解析器,它将创建一个抽象语法树,然后您可以对其进行操作。 看看这里 。
您将需要查看联合正常形式http://en.wikipedia.org/wiki/Conjunctive_normal_form和disjunctive normal formhttp://en.wikipedia.org/wiki/Disjunctive_normal_form。
您可以实现一种算法以及一个指向java实现的链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.