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()
deck
By gerson231294
deck
- 558