Generuj wszystkie permutacje tekstu z wzorca wyrażenia regularnego w C #

Mam więc wzorzec wyrażenia regularnego i chcę wygenerować wszystkie permutacje tekstu, które byłyby dozwolone z tego wzorca.

Przykład:

var pattern = "^My (?:biological|real)? Name is Steve$";
var permutations = getStringPermutations(pattern);

Spowoduje to zwrócenie listy ciągów poniżej:

Moje imię to Steve

Moje prawdziwe imię to Steve

Moja nazwa biologiczna to Steve

Aktualizacja: Oczywiście wyrażenie regularne ma nieskończoną liczbę dopasowań, więc chcę wygenerować tylko opcjonalne literały ciągów, jak w (?: Biologiczny | rzeczywisty)? z mojego przykładu powyżej. Coś w rodzaju (.) * Ma zbyt wiele dopasowań, więc nie będę ich z tego generować.

questionAnswers(3)

yourAnswerToTheQuestion