Generar todas las permutaciones de texto de un patrón de expresiones regulares en C #
Así que tengo un patrón de expresiones regulares y quiero generar todas las permutaciones de texto que se permitirían a partir de ese patrón.
Ejemplo:
var pattern = "^My (?:biological|real)? Name is Steve$";
var permutations = getStringPermutations(pattern);
Esto devolvería la siguiente lista de cadenas:
Mi nombre es Steve
Mi verdadero nombre es Steve
Mi nombre biológico es Steve
Actualizar: Obviamente, una expresión regular tiene un número infinito de coincidencias, así que solo quiero generar literales de cadena opcionales como en el (?: Biologico | real)? de mi ejemplo anterior. Algo como (.) * Tiene demasiadas coincidencias, así que no las generaré con eso.