Introducción a las expresiones regulares en Python

Conceptos básicos de Regex, patrones comunes y ejemplos prácticos para la coincidencia de patrones y la validación de datos

Aprende los fundamentos de las expresiones regulares (regex) en Python. Este tutorial cubre los conceptos básicos, los patrones comunes y los ejemplos prácticos para la coincidencia de patrones y la validación de datos utilizando el módulo re de Python.

Programación
Autor/a
Afiliación
Fecha de publicación

9 de febrero de 2024

Fecha de modificación

9 de mayo de 2025

Palabras clave

Expresiones regulares en Python, Tutorial de expresiones regulares en Python, Coincidencia de patrones en Python

Introducción

Las expresiones regulares (regex) son una herramienta poderosa para buscar, coincidir y manipular texto utilizando patrones. El módulo integrado re de Python proporciona un soporte sólido para expresiones regulares, lo que te permite realizar tareas complejas de procesamiento de texto de forma eficiente. En este tutorial, cubriremos los conceptos básicos de las expresiones regulares, exploraremos patrones comunes y mostraremos ejemplos prácticos de coincidencia de patrones y validación de datos.



¿Qué son las expresiones regulares?

Las expresiones regulares son secuencias de caracteres que definen un patrón de búsqueda. Se utilizan ampliamente para tareas como:

  • Validación de entradas (por ejemplo, direcciones de correo electrónico, números de teléfono)
  • Búsqueda y extracción de patrones específicos del texto
  • Reemplazar o modificar subcadenas dentro de una cadena más grande

Sintaxis y funciones básicas del módulo re de Python

El módulo re de Python ofrece varias funciones clave:

  • re.search(): Busca un patrón en cualquier parte de la cadena.
  • re.match(): Comprueba si hay una coincidencia solo al principio de la cadena.
  • re.findall(): Devuelve una lista de todas las coincidencias no superpuestas.
  • re.sub(): Reemplaza las ocurrencias de un patrón por una cadena especificada.
  • re.split(): Divide una cadena por las ocurrencias de un patrón.

Ejemplos prácticos

Buscar un patrón

Utiliza re.search() para localizar un patrón en una cadena:

#| label: regex-search
import re

text = "The quick brown fox jumps over the lazy dog."
pattern = r"fox"
match = re.search(pattern, text)
if match:
    print("Match found:", match.group())
else:
    print("No match found.")

Resultados:

Coincidencia encontrada: fox

Encontrar todas las ocurrencias

Usa re.findall() para extraer todas las coincidencias de un patrón:

#| label: regex-findall
import re

text = "apple, banana, cherry, apple, banana"
pattern = r"apple"
matches = re.findall(pattern, text)
print("All matches:", matches)

Resultados:

Todas las coincidencias: ['apple', 'apple']

Sustitución de patrones

Utiliza re.sub() para sustituir los patrones coincidentes por una nueva cadena:

#| label: regex-sub
import re

text = "The price is $100. The discount price is $80."
pattern = r"\$\d+"
new_text = re.sub(pattern, "REDACTED", text)
print("Updated text:", new_text)

Resultados:

Texto actualizado: El precio ha sido ELIMINADO. El precio con descuento ha sido ELIMINADO.

Usar grupos para la extracción

Los grupos te permiten extraer partes específicas de un patrón:

#| label: regex-groups
import re

text = "My email is alice@example.com."
pattern = r"(\w+)@(\w+\.\w+)"
match = re.search(pattern, text)
if match:
    username, domain = match.groups()
    print("Username:", username)
    print("Domain:", domain)

Resultados:

Nombre de usuario: alice
Dominio: example.com

Consejos y mejores prácticas

  • Mantén la sencillez:
    Empieza con patrones simples y aumenta gradualmente la complejidad. Las expresiones regulares demasiado complejas pueden ser difíciles de leer y mantener.

  • Prueba tus patrones:
    Utilice herramientas en línea como regex101.com para probar y depurar sus expresiones regulares de forma interactiva.

  • Documentar tu expresión regular:
    Cuando escribas patrones complejos, añade comentarios o divídelos en partes más pequeñas para mayor claridad.

  • Uso de cadenas sin formato:
    Prefix regex patterns with r to avoid issues with escape sequences (e.g., r'\d+').

Conclusión

Las expresiones regulares son una herramienta indispensable para el procesamiento de texto en Python. Al dominar los conceptos básicos y experimentar con ejemplos prácticos, podrá validar entradas de forma eficiente, extraer datos significativos y transformar texto para satisfacer sus necesidades. Con la práctica, descubrirá que las expresiones regulares pueden simplificar enormemente muchas tareas comunes de procesamiento de texto.

Lecturas adicionales

Disfruta programando y aprovecha el poder de las expresiones regulares en Python!

Explorar más artículos

Nota

Aquí hay más artículos de la misma categoría para ayudarte a profundizar en el tema.

placeholder

placeholder
No hay resultados
Volver arriba

Reutilización

Cómo citar

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Introducción a las expresiones regulares en Python},
  date = {2024-02-09},
  url = {https://www.datanovia.com/es/learn/programming/python/additional-tutorials/regex.html},
  langid = {es}
}
Por favor, cita este trabajo como:
Kassambara, Alboukadel. 2024. “Introducción a las expresiones regulares en Python.” February 9, 2024. https://www.datanovia.com/es/learn/programming/python/additional-tutorials/regex.html.