Expresiones regulares con Python

Gerson Garrido

¿Qué es una expresión regular?

Una expresión regular es una secuencia de caracteres que forma un patrón de búsqueda, principalmente utilizada para la búsqueda de patrones de cadenas de caracteres u operaciones de sustituciones.

 

Hora del ejemplo

Vamos a buscar una palabra en una cadena

# Encontrando palabras en cadenas

s = "Bienvenidos a Hackspace!"
"Hackspace" in s                 # True

Algo más dificil

Las expresiones regulares en Python pueden ser accedidas usando el módulo re, el cual es parte de la biblioteca estándar.​

# Encontrando fechas

import re 
regex = r"(\d+) ([a-zA-Z]+)"
if re.search(regex, "9 de Marzo"):
    print("Fecha correcta")
else:
    print("Fecha incorrecta")

Qué son esos caracteres?

Se les llama metacaracteres y nos facilitan la busqueda de patrones en cadenas

Métodos especiales en Python

# texto de entrada
poema = """Si te sueño porque te quiero,
si te necesito porque te quiero, 
si te pienso porque te quiero,
si te añoro porque te quiero,
¡Te quiero porque te quiero!.
Y te quiero porque eres tú."""

# patron para dividir donde no encuentre un caracter alfanumerico
patron = re.compile(r'\W+')

## METODO SPLIT

# Vemos que al separar no toma en cuenta las comas ni los signos de puntuación
# Ya que hemos especificado que solo tome en cuenta los caracteres alfanumericos
palabras = patron.split(poema)
palabras

split()

Métodos especiales en Python

# Cambiando "Te quiero" o "te quiero" por "me gustas"
old = re.compile(r'\b(T|t)e quiero\b')
cambio = old.sub("me gustas", poema)
print(cambio)

sub()

Made with Slides.com