Expresiones regulares

Suenan a magia negra. Son, en el fondo, una forma de describir un patrón de texto.

Imagina que quieres revisar si un texto parece un correo electrónico. Con lo que sabes hasta ahora, tendrías que revisar letra por letra si hay una arroba, si hay un punto después, etc. Una expresión regular (o "regex") describe ese patrón de una sola vez.

No hace falta memorizarlos todos el primer día. Con este puñado ya resuelves la mayoría de los casos reales:

  • \d — un dígito (0-9)
  • \w — una letra, número o guion bajo
  • \s — un espacio en blanco
  • + — una o más veces lo anterior
  • * — cero o más veces lo anterior
  • ? — cero o una vez lo anterior (opcional)

re.search() encuentra la primera coincidencia. re.findall() te las devuelve todas, en una lista.

re.sub() reemplaza todo lo que calce con el patrón, por el texto que le indiques. Es como un "buscar y reemplazar" mucho más potente que .replace().

Describir un patrón de texto con símbolos como \d, \w y +, buscar la primera coincidencia o todas, y reemplazar texto que cumpla un patrón.

Para cerrar el curso, dos ideas que suenan avanzadas pero que vas a reconocer en cuanto las veas en acción: generadores y decoradores.