Buenas, aquí presento mi solución para el ejercicio CU01154E del curso avanzado de JavaScript, aunque con algunas dudas:
la expresión regular /^[A-C]\w+\ses\s\w+/ hace match cuando la primera letra es A,B o C seguida de cualquier letra minúscula o mayúscula, número o guión bajo una o más veces, luego un espacio seguido de la palabra "es", luego otro espacio seguido de cualquier palabra que no contenga acento o símbolo(se permite guión bajo).
Si esta deducción es correcta, mi resultado sería el siguiente.
En verde está subrayado la cadena que hace match y en rojo si no hace match ninguna parte de la cadena:
a) Juan es guapo
b) Adriano no es feo
c) Adriano deja de ser guapo
d) Adriano ya es guapo
e) No es ahora
f) Ahora es no
g) Adriano es guapo
-------------------------------
Tengo una duda sobre este temario, en esta lección hay una parte que dice lo siguiente(subrayo en azul donde tengo la duda):
JavaScript permite crear expresiones regulares de dos maneras:
a) En forma de literal: var miExpresionRegular = /as?.a/ representa a todas las cadenas que contienen una subcadena con la primera letra de la subcadena una a, seguida de una s, opcionalmente seguida de cualquier letra, y seguida de una a.
b) Instanciando el objeto RegExp: var miExpresionRegular = new RegExp("as?.a") representa lo mismo.
Una cadena como “casamentero” contiene el patrón: contiene una a, seguida de s, el carácter opcional no está presente, y seguida una a. c-a-s-a-m-e-n-t-e-r-o
Una cadena como “castaño” contiene el patrón: c-a-s-t-a-ñ-o contiene el patrón, siendo el carácter opcional la letra t.
También contienen el patrón asa, casta, masa, castañuela, casiarina, kaspamina ó asma.
Cadenas como “sabina”, “casualidad” ó “as” no contienen el patrón.
¿No debería hacer match la expresión regular /as?.a/ cuando le pasas la cadena "casualidad"? tiene una "a" seguida de una "s", luego el carácter optativo que sería la "u" y para finalizar la "a", yo creía que sí hacía match.