[NPL][Ejercicio 1]: Expresiones Regulares
Escribe expresiones regulares para los siguientes lenguajes:
- el conjunto de todas las cadenas alfabéticas;
- el conjunto de todas las cadenas alfabéticas en minúscula que terminan en una b;
- el conjunto de todas las cadenas del alfabeto a,b tal que cada a está inmediatamente precedida y seguida por una b.
Solución:
- [A-Za-z]+
- [a-z]*b
- *b(ab)*
Escribir expresiones regulares para los siguientes lenguajes:
- el conjunto de todas las cadenas que tienen dos palabras consecutivas repetidas (por ejemplo, “Humbert Humbert” y “the the”, pero no “the bug” o “the big bug”);
- todas las cadenas que comienzan al principio de la línea con un número entero y que terminan al final de la línea con una palabra;
- todas las cadenas que tienen tanto la palabra “grotto” como la palabra “raven” en ellas (pero no, por ejemplo, palabras como “grottos” que simplemente contienen la palabra “grotto”);
- escribir un patrón que coloque la primera palabra de una oración en inglés en un registro. Tratar con la puntuación.
Solución:
- (\b\w+\b)\s+\1
- Explicación:
(
: Inicio del grupo de captura.\b
: Coincide con el límite de una palabra.\w+
: Coincide con uno o más caracteres alfanuméricos.\b
: Coincide con el límite de una palabra.)
: Fin del grupo de captura.\s+
: Coincide con uno o más espacios en blanco.\1
: Coincide con el mismo texto que se encuentra en el primer grupo de captura.- ^\d+\s.*\b(\w+)$
- Explicación:
^
: Coincide con el inicio de la línea.\d+
: Coincide con uno o más dígitos.\s
: Coincide con un espacio en blanco..*
: Coincide con cualquier carácter cero o más veces.\b
: Coincide con el límite de una palabra.(\w+)
: Coincide con una o más letras, números o guiones bajos. Este es el grupo de captura que se utilizará para extraer la palabra al final de la cadena de texto.$
: Coincide con el final de la línea.- \b(?=\wgrotto)(?=\wraven)\w+
- Explicación:
\b
: Coincide con el límite de una palabra.(?=\wgrotto)
: Es una búsqueda positiva hacia adelante que coincide con cualquier palabra que comience con “grotto”.(?=\wraven)
: Es otra búsqueda positiva hacia adelante que coincide con cualquier palabra que comience con “raven”.\w+
: Coincide con una o más letras, números o guiones bajos. Este es el grupo de captura que se utilizará para extraer la palabra que contiene tanto “grotto” como “raven”.- ([A-Za-z]+)[A-Za-z]*
- Explicación:
(
: Inicio del grupo de captura.[A-Za-z]+
: Coincide con una o más letras mayúsculas o minúsculas.)
: Fin del grupo de captura.[A-Za-z]*
: Coincide con cero o más letras mayúsculas o minúsculas. Este es el grupo de captura que se utilizará para capturar los caracteres adicionales después de la primera palabra.$
: Coincide con el final de la línea.
Comentarios
Publicar un comentario