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ć.