Я пытаюсь создать функцию Python, которая может принимать простое английское описание регулярного выражения и возвращать регулярное выражение вызывающему.
В настоящее время я думаю об описании в формате YAML. Таким образом, мы можем сохранить описание в виде исходной строковой переменной, которая передается этой другой функции, и вывод этой функции затем передается модулю "re". Ниже приведен довольно упрощенный пример:
# a(b|c)d+e*
re1 = """
- literal: 'a'
- one_of: 'b,c'
- one_or_more_of: 'd'
- zero_or_more_of: 'e'
"""
myre = re.compile(getRegex(re1))
myre.search(...)
и др.
Кто-нибудь думает, что что-то в этом роде будет более широко использоваться? Вы знаете уже существующие пакеты, которые могут это сделать? Каковы ограничения, которые вы видите в этом подходе? Кто-нибудь думает, имея декларативную строку в коде, сделает ее более удобной для обслуживания?