Генерация всех перестановок текста из регулярного выражения в C #
Итак, у меня есть шаблон регулярных выражений, и я хочу сгенерировать все текстовые перестановки, которые будут разрешены из этого шаблона.
Пример:
var pattern = "^My (?:biological|real)? Name is Steve$";
var permutations = getStringPermutations(pattern);
Это вернет список строк ниже:
Меня зовут стив
Мое настоящее имя Стив
Мое биологическое имя стив
Обновить: Очевидно, что регулярное выражение имеет бесконечное количество совпадений, поэтому я хочу генерировать только из необязательных строковых литералов, как в (?: Bio | real)? из моего примера выше. Что-то вроде (.) * Имеет слишком много совпадений, поэтому я не буду генерировать их из этого.