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á.

Última modificación: 10 de febrero de 2022

Autor

Comentarios

Escribe una respuesta o comentario

Tu dirección de correo electrónico no será publicada.