SQL やその他のソースからデータを取得するデータベース用のクエリ エンジンを構築しています。通常の使用例では、ユーザーは Web フォームを使用して、select および ranged 入力でフィルタリング パラメータを指定できます。しかし、高度なユースケースでは、ユーザーが入力できるフィルタリング式ボックスを指定したいと思います
および、または
ネストされた括弧
変数名
、<、=、!= 演算子
したがって、フィルタリングの式は次のようになります。
((age > 50) or (weight > 100)) and diabetes='yes'
次に、この入力が解析され、入力エラー (存在しない変数名など) が検出され、それに基づいて SQL Alchemy クエリが構築されます。
同様の問題に関する以前の投稿を見ましたhttps://stackoverflow.com/a/1395854/315168
Python http://navarra.ca/?p=538用のいくつかの言語およびミニ言語パーサーが存在するようです
ただし、すぐに使用できるソリューションまたは問題のソリューションに近いパッケージはありますか? そうでない場合、Python でそのようなクエリ パーサーとコンストラクターを構築する最も簡単な方法は何でしょうか?