Генерация строк с регулярными выражениями, подобными критериям

Интересно, возможно ли реализовать оптимальный класс генератора строк, отвечающий следующим требованиям:


Я не чувствую себя комфортно с регулярным выражением: я не могу придумать начальный фрагмент кода, но я просто думаю о наивной реализации, использующей TList в качестве базового класса, и использую фильтр (Regex) против сгенерированной строки "грубой силы".

Каковы другие оптимальные альтернативы?


  • Порядок: сначала по длине (сначала самый короткий), затем лексикографически.
  • Спецификация диапазона символов, которые будут использоваться при генерации: все печатные символы или любая возможная комбинация [A-Z], [a-z], цифр, специальных символов и, возможно, пробела (regex ?).
  • Длина строки ограничена заданным значением Min/Max.
  • Пространство поиска ограничено рамками: Стартовая строка и Конечная строка с возможностью фильтрации (regex ?)

Последнее редактирование

Для начала я перефразировал заголовок, используя регулярное выражение типавместо регулярное выражение

Я рассматриваю возможность пересмотреть первое требование, так как это открытая дверь, которая может привести к неразрешимой проблеме.

Мне нужны предложения и помощь для правильной формулировки.

Завершено редактирование требований для размышлений. Все еще открыт для предложений по доработке.

15
задан Léo Léopold Hertz 준영 28 July 2012 в 04:25
поделиться