Ir al contenido principal

Expresiones Regulares con Python - Ejemplos Prácticos

¿Qué son las Expresiones Regulares?

Las expresiones regulares, son una secuencia de caracteres que forma un patrón de búsqueda. Los patrones se interpretan como un conjunto de instrucciones que luego se ejecutan sobre un texto de entrada para producir una versión modifica del texto original. Las expresiones regulares pueden incluir patrones de coincidencia literal, de repetición, de composición, de ramificación, y otras sofisticadas reglas de reconocimiento de texto.

Expresiones regulares

Expresiones Regulares - Ejemplos Prácticos:

Muy bien, ya sabemos que las expresiones nos sirven para trabajar y procesar cadenas de textos. Las expresiones regulares son usadas para distintos propósitos: direcciones de paginas web, reconocimiento de correos electrónicos, búsqueda de coincidencias en textos, entre otros.

Muy bien, es hora de probar las expresiones regulares con código Python.

El lenguaje de programación, en su librería estándar, nos proporciona el modulo regex el cual es utilizado para trabajar con expresiones regulares.

import re # Importamos el modulo regex

# El metodo mathc determina si la expresión regular tienen coincidencias
# en el comienzo del texto

def coincidencias(text1, text2):
    if re.match(text1, text2):
        return True
    else:
        return False
    
coincidencias("Python", "Python")

True

# Con expresiones regulares, podremos buscar todo tipo de patrones
# Por ejemplo, podremos iltrar las palabras con acentos
patron = ('\w*[ñáéíóúÑÁÉÍÓÚ]\w*')
palabras = re.compile(patron)
palabras.findall("Niño, Acción, Perro, Lobo, Expresión, Español")

['Niño', 'Acción', 'Expresión', 'Español']

# Podemos utilizar las expresiones regulares para la validación de URL

#Este serie el patron que sigue una URL
url = re.compile(r"^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$")

if url.search("http://pythondiario.com/"): # Comprobemos que esta es una URL valida
    print("URL Valida")
else:
    print("URL No Valida")

URL Valida

# Uno de los usos que más se le dan a las expresiones regulares
# es la verificación de correos electronicos
patron = re.compile(r"[\w.%+-]+@[\w.-]+\.[a-zA-Z]{2,6}")

if patron.search("pythondi1io@gmail.com"): # Comprobemos sí este es un correo electronico valido
    print("Correo valido!")
else:
    print("Correo Invalido!")

Correo valido!


Con las expresiones regulares también podemos verificar una fecha. A continuación les mostrare un ejemplo:

fecha = re.compile(r'^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\d\d)$')

if fecha.search("13/02/1982"):
    print("Fecha Valida!")
else:
    print("Fecha Invalida!")

Fecha Valida!

if fecha.search("332/49/1982"):
    print("Fecha Valida!")
else:
    print("Fecha Invalida!")

Fecha Invalida!


¿Alguna duda? No olvides dejar tu comentario.

¿Con ganas de más? Ingresa al siguiente enlace el cual te redirigirá a un buen libro sobre Python, desde lo más básico hasta lo más avanzado: Python Para Todos PDF Español.

Puedes descargar todos los ejemplos realizados en este articulo Ingresando Aquí.

Comentarios

Entradas más populares de este blog

Ejercicios de Programación en Java: Condicionales, Bucles, Tablas y Funciones

PRÓLOGO El libro Ejercicios de Programación en Java: Condicionales, Bucles, Tablas y Funciones nace como fruto de años de docencia en materias relacionadas: Algorítmica, Programación, Lenguaje C y Java, entre otros.  Con el paso del tiempo he constatado que aprender un lenguaje de programación es relativamente sencillo y sobre este tema existen muchos y muy buenos textos. Pero aprender a programar es algo totalmente distinto, que necesita de un mayor esfuerzo y abordar el problema desde otra perspectiva. Siempre utilizo la metáfora del pianista para explicar el tándem programar/lenguaje de programación: saber tocar las notas de un piano es relativamente fácil, tan solo debemos anotar en cada una de las teclas a qué nota musical corresponde. Esto sería similar a conocer un lenguaje de programación. Es muy sencillo utilizar un if o entender la mecánica de un while .  Volviendo al piano: una vez que dominamos la relación tecla/nota, un pianista debe aprender muchas ot...

Calculando el factorial de un número (ejemplo de función recursiva).

Hola, mi nombre es Antonio Alfonso Martínez y en el presente artículo me dispongo a explicar un sencillo método para calcular el factorial de un número haciendo uso del concepto de recursividad. Para empezar, diremos que el factorial de un número natural "n" es el resultado del producto de todos los números desde 1 hasta dicho número "n". Así, para efectuar el calculo del factorial de un número, vamos a emplear una sencilla función a la que daremos el nombre de "factorial". De modo, que, partiendo del hecho de que el factorial de 1 y 0 es 1, construiremos nuestra función (a la que daremos el nombre de "factorial") para realizar el calculo del factorial de 5: Lo que hace esta función, es tomar como argumento un número "n". de modo que si este es 0 o 1 ("if n==0 or n==1:") la función devolverá directamente como resultado el número 1 ("resultado=1"). Sin embargo si dicho número "n" es mayor que...

Trabajando con matrices (calculadora de matrices con "numpy").

En el presente artículo vamos a ver un rápido y sencillo para realizar  operaciones con matrices. Para lo cual haremos uso del módulo "numpy" el cual, nos permite realizar operaciones de forma sencilla y eficiente sobre grandes conjuntos de información que puede organizarse en vectores. Puesto que vamos a trabajar con "numpy", si lo tenemos ya instalado, lo primero que haremos será importarlo. En caso de que no lo tengamos aún instalado tendremos que hacer uso de "pip" para su instalación: Instalación de "numpy" mediante "pip": Importación de "numpy" como "np": Para crear matrices, tenemos que crear primero la matriz con las dimensiones deseadas, para luego asignarles los valores mediante un ciclo "for". Con "numpy" solo tendremos que crear dos arrays con tantos vectores como filas queramos que tenga nuestra matriz (a su  vez, cada uno de esos vectores tendrá tantos elementos como ...