Фон : я разрабатываю пользовательский синтаксис, похожий на регулярные выражения для имен файлов URL. Это будет работать так:
- Пользователь пишет шаблон, что-то вроде
"[a-z][0-9]{0,2}"
, и передает его в качестве ввода
- Он анализируется программой и переводится в набор перестановок, которые он представляет, т.е.
'a'
, 'a0'
, 'a00'
... 'z99'
Эти шаблоны будут различаться по сложности, в основном все, что может появиться в имени файла URL, должно быть учтено. Язык - либо Java, либо PHP, но примеры на любом языке или абстрактная / концептуальная помощь приветствуются.
Мои вопросы:
- С чего начать с реализации «парсера» для вышеперечисленного
и, что менее важно,
- Как программно перевести разобранные сложные шаблоны в строки