Usando expresiones regulares para encontrar una palabra con las cinco letras abcde, cada letra aparece exactamente una vez, en cualquier orden, sin interrupciones entre ellas

Por ejemplo, la palabradebacle funcionaria debido adebac, perofondo del mar no funcionaría porque: 1. no hay c en ninguna secuencia de 5 caracteres que pueda formarse, y 2. la letra e aparece dos veces. Como otro ejemplo,realimentación funcionaria debido aEdbac. Y recuerde, la solución debe hacerse utilizando solo expresiones regulares.

Una estrategia que intenté implementar fue: emparejar la primera letra si está dentro de [a-e], y recordarla. Luego encuentre la siguiente letra en [a-e] pero no la primera. Y así. No estaba seguro de cuál era la sintaxis (o incluso si existía alguna sintaxis) así que mi código no funcionó:

open(DICT, "dictionary.txt");
@words = <DICT>;

foreach my $word(@words){

if ($word =~ /([a-e])([a-e^\1])([a-e^\1^\2])([a-e^\1^\2^\3])([a-e^\1^\2^\3^\4])/
){
    print $word;
}
}

También estaba pensando en usar (? = Regex) y \ G pero no estaba seguro de cómo funcionaría.

Respuestas a la pregunta(3)

Su respuesta a la pregunta