Я работаю над обработкой запросов на русском языке (перевод их в SQL код, который будет выполнен). Я токенизирую запрос, делаю морфологический анализ, из лемм получаю ссылки на объекты базы данных. Итак, теперь я хочу использовать шаблоны, такие как регулярные выражения, чтобы получить такие вещи, как условия, ORDER BY
выражения и так далее. Но дело в том, что регулярное выражение может использоваться только со списком символов (строк).
Существует ли библиотека / решение для Python (предпочтительно), которое работает как регулярные выражения, но для любых типов объектов (список токенов с грамматическими свойствами или объектами базы данных), а не просто строками?
Итак, в качестве примера, я хочу написать шаблоны, которые бы выглядели примерно так:
[db-column]((','|'and')[db-column])*
этот шаблон будет соответствовать список объектов базы данных, таких как: columnA, columnB и column C.