ComenzarEmpieza gratis

Practica con expresiones regulares: re.split() y re.findall()

Ahora tendrás la oportunidad de escribir algunas expresiones regulares para encontrar dígitos, cadenas y caracteres no alfanuméricos. Mira primero my_string imprimiéndolo en la IPython Shell para decidir cómo encajar mejor los distintos pasos.

Nota: Es importante anteponer la r a tus patrones de regex para asegurarte de que se interpreten como quieres. De lo contrario, puedes tener problemas con las secuencias de escape en las cadenas. Por ejemplo, "\n" en Python indica una nueva línea, pero si usas el prefijo r, se interpretará como la cadena cruda "\n", es decir, el carácter "\" seguido del carácter "n", y no como una nueva línea.

El módulo de expresiones regulares re ya se ha importado por ti.

Recuerda del vídeo que la sintaxis de la librería de regex consiste en pasar siempre primero el patrón y después la cadena.

Este ejercicio forma parte del curso

Introducción al Natural Language Processing en Python

Ver curso

Instrucciones del ejercicio

  • Divide my_string al final de cada oración. Para ello:
    • Escribe un patrón llamado sentence_endings para hacer coincidir finales de oración (.?!).
    • Usa re.split() para dividir my_string con el patrón e imprime el resultado.
  • Encuentra e imprime todas las palabras en mayúscula en my_string escribiendo un patrón llamado capitalized_words y usando re.findall().
    • ¿Recuerdas el patrón [a-z] del vídeo para agrupar minúsculas? Modifícalo adecuadamente para agrupar mayúsculas.
  • Escribe un patrón llamado spaces para hacer coincidir uno o más espacios ("\s+") y luego usa re.split() para dividir my_string con este patrón, manteniendo toda la puntuación intacta. Imprime el resultado.
  • Encuentra todos los dígitos en my_string escribiendo un patrón llamado digits ("\d+") y usando re.findall(). Imprime el resultado.

Ejercicio interactivo práctico

Prueba este ejercicio y completa 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