En esta serie de entradas veremos cómo trabajar con expresiones regulares en Python, gracias a esto podremos buscar patrones de texto que nos interesen.
Python trae por defecto un módulo ya integrado llamado «re», que podemos usar para trabajar con expresiones regulares.
Veamos un ejemplo muy sencillo.
import re cadenaPrueba = "123abc456789abc123ABC" patron = re.compile(r"abc") coincidencias = patron.finditer(cadenaPrueba) for coincidencia in coincidencias: print(coincidencia)
Y este será el resultado.
<re.Match object; span=(3, 6), match='abc'> <re.Match object; span=(12, 15), match='abc'>
Se devuelven dos coincidencias. «span» corresponde a los índices de inicio y fin de las coincidencias.
Si nos fijamos, «ABC» no se incluye en las coincidencias debido al case sensitive.
Nuestro código se puede acortar de la siguiente forma.
import re cadenaPrueba = "123abc456789abc123ABC" coincidencias = re.finditer(r"abc", cadenaPrueba) for coincidencia in coincidencias: print(coincidencia)
La línea de «patron» no es necesaria porque el patrón se puede definir directamente en «coincidencias».
La «r» especificada antes del patrón significa que es un raw string, lo que viene a ser texto sin formato. Esto permite evitar problemas a la hora de definir nuestros patrones.
print(r"\tEjemplo") print("\tEjemplo")
Resultado:
\tEjemplo Ejemplo
En este ejemplo, si ponemos un tabulador (\t) como raw string, este no se interpretará.
Comentarios