В проекте возникла задача реализовать в API возможность фильтрации данных. Фильтр представляет из себя строку. Пример строки «name LIKE 'Леша' OR name LIKE 'Саша' AND (age > 40 OR age < 30)»
Нужно реализоваться разбор этого выражения и при помощи уже полученной структуры
1. вместо «age» «name» подставить действительные названия полей.
2. проверить на корректность выражение
3. составить новое выражение которое передастся вместе с запросом к базе, при этом исключить sql инъекций
Вариант передачи фильтра в другом виде не рассматривается руководством)
Может вы сталкивались с похожей задачей и предложите пути решения? (алгоритмы)
Подскажите полезные библиотеки для парсинга выражений из строки которые можно настроить под мои нужды.