4

C# を使用して、作業しているアプリケーションに検索機能を追加しようとしていますが、ユーザーが入力したクエリ文字列を取得して解析する、何度も使用できる検索プロバイダーを作成したいと考えています。結果の辞書。ディクショナリには、キーワードと値のみが含まれます。すなわち。キーワード「last」と値「Simpson」

Windows Search のように、検索フィールドがプレーンな文字列、引用符で囲まれた文字列、およびパラメーター付きの文字列を受け入れられるようにしたいと考えています。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
4

0 に答える 0