ComenzarEmpieza gratis

Práctica de expresiones regulares: re.split() y re.findall()

Ahora tendrás la oportunidad de escribir algunas expresiones regulares para que coincidan con dígitos, cadenas y caracteres no alfanuméricos. Echa un vistazo primero a my_string imprimiéndolo en la Shell ython IP, para determinar cómo podrías encajar mejor los distintos pasos.

Nota: Es importante prefijar tus patrones regex con r para asegurarte de que tus patrones se interpretan de la forma que deseas. De lo contrario, puedes tener problemas con las secuencias de escape en las cadenas. Por ejemplo, "\n" en Python se utiliza para indicar una nueva línea, pero si utilizas el prefijo r, se interpretará como la cadena en bruto "\n" -es decir, el carácter "\" seguido del carácter "n" - y no como una nueva línea.

Ya has importado el módulo de expresiones regulares re.

Recuerda del vídeo que la sintaxis de la biblioteca regex es pasar siempre primero el patrón y después la cadena.

Este ejercicio forma parte del curso

Introducción al procesamiento de lenguaje natural en Python

Ver curso

Instrucciones del ejercicio

  • Divide my_string en cada final de frase. Para ello:

    • Escribe un patrón llamado sentence_endings para que coincida con los finales de frase (.?!).

    • Utiliza re.split() para dividir my_string en el patrón e imprimir el resultado.

  • Encuentra e imprime todas las palabras en mayúsculas en my_string escribiendo un patrón llamado capitalized_words y utilizando re.findall().

    • ¿Recuerdas el patrón [a-z] que se muestra en el vídeo para emparejar grupos de minúsculas? Modifica ese patrón adecuadamente para que coincida con grupos de mayúsculas.
  • Escribe un patrón llamado spaces para que coincida con uno o más espacios ("\s+") y luego utiliza re.split() para dividir my_string en este patrón, manteniendo intacta toda la puntuación. Imprime el resultado.

  • Encuentra todos los dígitos en my_string escribiendo un patrón llamado digits ("\d+") y utilizando re.findall(). Imprime el resultado.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# Write a pattern to match sentence endings: sentence_endings
sentence_endings = r"[___]"

# Split my_string on sentence endings and print the result
print(re.____(____, ____))

# Find all capitalized words in my_string and print the result
capitalized_words = r"[___]\w+"
print(re.____(____, ____))

# Split my_string on spaces and print the result
spaces = r"___"
print(re.____(____, ____))

# Find all digits in my_string and print the result
digits = r"___"
print(re.____(____, ____))
Editar y ejecutar código