Мне интересно, насколько возможно реализовать оптимальный генератор строк, отвечающий следующим требованиям второй мысли:
-
Критерии генерации с использованием regex -
Лексикографическое перечисление порядка. -
Процент подсчета -
Индексированный доступ
Я не чувствую себя комфортно с регулярным выражением: я не могу придумать стартовую часть кода, но я просто думаю о наивной реализации, используя TList в качестве базового класса и использую фильтр (Regex) против генерируемой строки "грубой силы".
Каковы другие оптимальные альтернативы?
- Заказ: сначала по длине (сначала самый короткий), затем лексикографически.
- Спецификация диапазона символов, которые будут использоваться в генерации: все для печати или любая возможная комбинация из [AZ], [az], чисел, специальных символов и, в конечном итоге, пространства (regex?).
- Длина строки ограничена заданной величиной Min/Max.
- Пространство поиска с ограничениями: Начать строку Конечная строка с возможностью фильтрации (regex?)
Последнее изменение
Начнем с того, что я перефразировал заголовок, используя регулярное выражение, а не regex.
Я рассматриваю возможность пересмотра первого требования, поскольку это открытая дверь, которая может привести к неустранимой проблеме.
Мне нужны предложения и помощь для правильной формулировки.
Сделано второе редактирование требований. Все еще открыт для предложения для уточнения.