使用C#我正在尝试向我正在使用的应用程序添加搜索功能但是我想编写一个我可以反复使用的搜索提供程序,它将接收用户键入的查询字符串然后将其解析为结果字典。字典只包含关键字和值。 IE浏览器。关键字“最后”和价值“辛普森”
我想允许搜索字段接受普通字符串,引用字符串和Windows搜索等参数字符串。它不必像Windows Search一样广泛。显然,某些东西必须解析用户输入的查询字符串,然后其他东西将解析后的查询字符串解释为数据源的查询。
有人如何编写词法分析器或能够解析用户可以输入的实际内容的多种变体的内容? 是否有任何框架可以使指定关键字和参数更容易? 基本上我正在寻找的是一些关于如何开始如何做的信息。我在做实际工作时没有问题,我只是迷失在哪里开始尝试这样做。一个普通的字符串和引用的字符串很容易解析,但参数化的字符串一直是让我感到困惑的曲线球。
Example of plain query strings:
- hello.txt
- one two three
Example of quoted strings:
- "one two"
- one "two three"
Example of parametered strings:
- last:simpson
- first:bart
- name:"Bart Simpson"
- name:"Bart Simpson" age:12
- hello name:"Bart Simpson" fart age:12