19 - Expresiones regulares: el módulo “re” y la función “fullmatch”

Lección 19 del curso Python Nivel Intermedio.

Introducción

En la lección anterior vimos una introducción a las Expresiones Regulares en Python, que nos permitirán realizar el procesamiento avanzado de strings.

En esta lección vamos a comenzar a ver la versatilidad que tienen las Expresiones Regulares en Python, así que hablaremos del módulo “re” y en particular veremos en detalle la función fullmatch.

Contenido exclusivo suscriptores

Suscríbete y accede al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

El módulo re

Para usar expresiones regulares en Python debemos importar el módulo re, que a su vez contiene múltiples funciones entre las que se encuentra fullmatch, una de las más usadas. Veamos en detalle la utilidad de esta función.

La función fullmatch

fullmatch es una de las funciones más usadas en el módulo re. Permite verificar si hay coincidencias entre un patrón (primer argumento) es idéntico a un string (segundo argumento).

Como el primer argumento es un patrón existen muchísimas formas de realizar búsquedas.

Coincidencias con caracteres literales

Es el uso más sencillo: el patrón es simplemente una secuencia de caracteres, y fullmatch verifica la coincidencia entre el string y el patrón.

Si el patrón es idéntico al string fullmatch devuelve un objeto tipo re.Match, de lo contrario devuelve un objeto tipo None.

Meta-caracteres, clases de caracteres y cuantificadores

Pero lo interesante de las Expresiones Regulares no es que el patrón sea idéntico al sub-string que queremos buscar, sino que sea más versátil. Esta versatilidad la agregan los meta-caracteres, las clases de caracteres y los cuantificadores:

Meta-caracteres

Son símbolos especiales que permiten definir criterios de búsqueda o formas de manipular el texto. Estos son: [], {}, (), \, *, +, ^, $, ?, . y |

Clases de caracteres

En un string podemos tener caracteres que representen números, espacios o letras. Dependiendo de la búsqueda que hagamos, podemos combinar el meta-caracter ’’ con una de las clases de caracteres para por ejemplo buscar sólo números, espacios o letras.

Estas clases de caracteres son:

Cuantificadores

En lugar de escribir \d\d\d\d\d para buscar una secuencia de cinco caracteres, podemos escribir \d{5} para indicar la cantidad de dígitos que queremos buscar. La porción {5} se conoce como un cuantificador.

Clases de caracteres personalizadas

Con el meta-caracter [] podemos definir clases de caracteres personalizadas.

Además, el * verifica cero o más coincidencias según la regla que aparezca a su izquierda. Así, al escribir '[a-z]*' estamos indicando a fullmatch que busque cero o más coincidencias de letras minúsculas.

Si al comienzo de una clase de caracter personalizada colocamos el meta-caracter ^ la búsqueda será realizada sobre cualquier caracter que no esté en dicha clase.

Otros cuantificadores

Contenido exclusivo suscriptores

Recuerda suscribirte para acceder al código fuente y al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Muy bien, ya empezamos a tener un panorama claro del potencial de las expresiones regulares, y con fullmatch ya sabemos cómo encontrar coincidencias entre un string y el patrón de búsqueda.

Ahora el siguiente paso es ver cómo podemos reemplazar porciones de texto o partir un string con base en un patrón de búsqueda. Así que en la siguiente lección hablaremos de las funciones sub y split.

Ver todas las lecciones de este curso