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

Descargar vídeos y audios de YouTube con Python y Pafy

Introducción: YouTube es una plataforma que nos permite disfrutar de vídeos informativos, películas, música y mucho, mucho más. Siempre que escuchamos una canción queremos descargarla, si vemos un vídeo también queremos descargarlo, de esta manera podríamos verlos desde donde queramos sin necesidad de una conexión a Internet. Hoy te enseñare a descargar vídeos y audios de el sitio web conocido como YoutTube, esto lo lograremos haciendo uso de una librería llamada Pafy, si aun no tienes la librería Pafy, puedes descargarla ingresando al siguiente enlace:  Librería Pafy . Usando Pafy: Pafy una biblioteca de Python para descargar contenido de YouTube y recuperar metadatos. Antes de descargar contenido, usaremos a Pafy para obtener información de un vídeo especifico. A continuación te mostrare un ejemplo para obtener el titulo de un vídeo. import pafy url_video = " https://www...

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

Sistema Hexadecimal - Sistema de numeración posicional

Sistema Hexadecimal El sistema hexadecimal es un sistema numérico que tiene como base el numero 16, y es una variante de los numero binarios El sistema hexadecimal es utilizado por nuestros ordenadores con el fin de abreviar valores de datos e instrucciones de memoria. Esta es una imagen que muestra el contenido de un archivo con exención 'dll' en un editor de texto, como el editor de texto no reconoce este tipo de archivo, nos lo muestra de esta manera: Como se puede apreciar, en vez de ver una gran cantidad de 0 y 1, vemos que hay grupos de 4 dígitos, y si observamos, vemos que son grupos de dígitos hexadecimales. El archivo cuentan con más de 48 mil lineas, por ello no se me es posible mostrarlo todo. Este es uno de los usos del sistema hexadecimal para abreviar grandes cantidades de 0 y 1. Ustedes mismos pueden hacer la prueba con una imagen o con cualquier otro tipo de texto. El sistema hexadecima, esta conformado por solo 16 dígitos. A continuación te lo...