NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Probador de RegEx en Python

Probador de RegEx en Python

Pruebe y depure expresiones regulares de Python en linea con el Probador de Regex Python de Qodex. Resalte coincidencias al instante y refine patrones usados para validacion de correo electronico, verificacion de contrasenas, validacion de numeros de telefono y mas. Use datos del Generador de Correo o del Generador de UUID, y compare el comportamiento con los probadores de Java o JavaScript.

Probador de RegEx en Python - Documentacion

¿Que es Regex en Python?

Python utiliza el modulo integrado re para soportar expresiones regulares. Regex le permite encontrar, extraer y transformar texto usando patrones. Se usa ampliamente en:

  • Validacion de datos (correo electronico, contrasenas, numeros de telefono)

  • Procesamiento y limpieza de texto

  • Web scraping y analisis de logs

  • Extraccion de patrones de cadenas de texto


Componentes Principales de Python RegEx

  • Coincidencia en Tiempo Real: Resaltado inmediato de coincidencias a medida que escribe.

  • Compatible con Sintaxis de Python re: Funciona exactamente como el motor de regex de Python.

  • Grupos de Captura Visibles: Muestra grupos de captura y coincidencias.

  • Apto para Principiantes: Simplemente pegue su regex y cadena de prueba, sin necesidad de escribir codigo.

  • Integrado con Otras Herramientas: Pruebe con el Generador de Direcciones, el Generador de Contrasenas o el Generador de Direcciones MAC.


Metacaracteres

  • . - Coincide con cualquier caracter excepto salto de linea (\n).

    Ejemplo: a.b coincide con acb, a9b, etc., pero no con ab.

  • ^ - Coincide con el inicio de una cadena.

    Ejemplo: ^Hola coincide con "Hola mundo" pero no con "Di Hola".

  • $ - Coincide con el final de una cadena o justo antes del salto de linea al final.

    Ejemplo: mundo$ coincide con "Hola mundo" pero no con "mundo en paz".

  • | - Actua como operador OR logico.

    Ejemplo: gato|perro coincide con "gato" o "perro".


Clases de Caracteres

  • [abc] - Coincide con cualquiera de a, b o c.

    Ejemplo: gr[ae]y coincide con "gray" y "grey".

  • [^abc] - Niega el conjunto. Coincide con cualquier caracter excepto a, b o c.

    Ejemplo: [^0-9] coincide con cualquier caracter no numerico.

  • [a-zA-Z] - Coincide con cualquier letra del alfabeto.

    Ejemplo: [A-Z] solo coincide con letras mayusculas.


Clases de Caracteres Predefinidas

  • \d : Coincide con cualquier digito; equivalente a [0-9].

  • \D : Coincide con cualquier caracter que no sea digito.

  • \s : Coincide con cualquier espacio en blanco: espacio, tabulacion, salto de linea, etc.

  • \S : Coincide con cualquier caracter que no sea espacio en blanco.

  • \w : Coincide con cualquier caracter de palabra: [a-zA-Z0-9_].

  • \W : Coincide con cualquier caracter que no sea de palabra.


Cuantificadores

  • * - Coincide con 0 o mas repeticiones del patron anterior.

    Ejemplo: ab* coincide con "a", "ab", "abb", "abbb"...

  • + - Coincide con 1 o mas ocurrencias.

    Ejemplo: ab+ coincide con "ab", "abb", "abbb"... pero no con "a".

  • ? - Coincide con 0 o 1 ocurrencia, haciendolo opcional.

    Ejemplo: ab? coincide con "a" o "ab".

  • {n} - Exactamente n ocurrencias.

    Ejemplo: a{3} coincide con "aaa".

  • {n,} - Al menos n ocurrencias.

    Ejemplo: a{2,} coincide con "aa", "aaa", "aaaa"...

  • {n,m} - Entre n y m ocurrencias.

    Ejemplo: a{2,4} coincide con "aa", "aaa" o "aaaa".

Grupos

  • (abc) : Grupo de captura que coincide con "abc" y lo almacena.

    Ejemplo: (ha)+ coincide con "ha", "hahaha", etc.

  • (?:abc) : Grupo no capturador; agrupa sin guardar.

    Util cuando se aplican cuantificadores o alternaciones sin backreferences.

Por Que Importan los Grupos

Agrupar con parentesis sirve para mas que solo coincidir patrones: permite extraer y reutilizar partes especificas de la coincidencia, conocidas como grupos de captura. Esto es especialmente util para:

  • Extraer pares clave-valor de texto estructurado

  • Analizar fechas, horas o medidas de logs o formularios

  • Obtener partes de una URL, direccion de correo o nombre de archivo

Puede acceder a estos grupos capturados usando funciones como group() o groups() en Python. Los grupos no capturadores permiten controlar la logica del patron sin almacenar el texto coincidente.

Lookahead y Lookbehind

Las aserciones de lookahead y lookbehind son aserciones de ancho cero: permiten coincidir texto basandose en lo que aparece antes o despues, sin incluir esos caracteres en la coincidencia. Son utiles cuando se quiere filtrar coincidencias por contexto sin incluir el contexto en el resultado.

  • (?=abc) : Lookahead positivo; coincide si abc sigue a continuacion.

    Ejemplo: \d(?=px) coincide con un digito seguido de "px".

  • (?!abc) : Lookahead negativo; coincide si abc no sigue a continuacion.

    Ejemplo: \d(?!px) coincide con digitos no seguidos de "px".

  • (?<=abc) : Lookbehind positivo; coincide si esta precedido por abc.

    Ejemplo: (?<=@)\w+ coincide con el texto despues de "@" en un correo.

  • (?<!abc) : Lookbehind negativo; coincide si no esta precedido por abc.

Anclas y Limites

  • \b : Limite de palabra (entre \w y \W).

    Ejemplo: \bgato\b coincide con "gato" en "el gato" pero no en "gatera".

  • \B : Limite de no-palabra.

  • \A : Coincide con el inicio de la cadena (a diferencia de ^, no cambia con re.MULTILINE).

  • \Z : Coincide con el final de la cadena o antes del salto de linea al final.


Flags

Puede pasar flags a funciones como re.search() o usarlos en linea con (?i), (?m), etc.

  • re.IGNORECASE / re.I : Coincidencia sin distincion de mayusculas.

  • re.MULTILINE / re.M : ^ y $ coinciden con el inicio/fin de cada linea.

  • re.DOTALL / re.S : El punto . coincide con cualquier caracter, incluidos saltos de linea.

  • re.VERBOSE / re.X : Permite dividir patrones con espacios y comentarios para mayor claridad.

  • re.ASCII / re.A : Hace que \w, \b, \d, \s, etc., solo coincidan con caracteres ASCII.

Nota: Python no soporta el flag global (g) como JavaScript, porque funciones como re.findall() y re.finditer() ya son globales por defecto.

Ejemplos de Expresiones Regulares en Python


Ejemplo 1: Validacion de Correo Electronico

Pruebe el Validador de Email con RegEx Python y el Generador de Correo.

import re
email_pattern = re.compile(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$')
email = "user@example.com"
print("Email Valido:", bool(email_pattern.match(email)))

Ejemplo 2: Verificacion de Fortaleza de Contrasena
password_pattern = re.compile(r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$')
password = "Aa123456!"
print("Contrasena Fuerte:", bool(password_pattern.match(password)))

Ejemplo 3: Extraccion de Palabras de una Cadena
text = "Regex is #1 at pattern matching!"
word_pattern = re.compile(r'\b\w+\b')
for match in word_pattern.finditer(text):
    print("Encontrado:", match.group())

Como Funciona

  1. Ingrese su patron regex y la cadena de prueba.

  2. Vea las coincidencias y grupos de captura al instante.

  3. Copie, edite y refine su patron hasta que sea perfecto.

  4. Use datos de prueba de otras herramientas para simular casos reales.

Consejos para Escribir RegEx Efectivo en Python

  • Compile regex con re.compile() para mejor rendimiento en ciclos.

  • Use grupos con nombre (?P<nombre>...) para codigo mas legible.

  • Use re.VERBOSE para regex extensos, permitiendo comentarios y espaciado.

  • Use re.findall() para obtener todas las coincidencias como lista.

  • Evite regex para datos anidados o estructurados complejos; use analizadores en su lugar.

  • Use el Probador de Regex Python de Qodex para experimentar con casos limite.

Otras Herramientas Relacionadas

Otros Validadores Regex

Generadores para Pruebas

Explore Mas en Qodex

Frequently Asked Questions

¿Como escribo regex en Python?

Use el modulo re con funciones como re.search(), re.match() o re.findall().

¿Como hago que regex no distinga mayusculas en Python?

Use el flag re.IGNORECASE o re.I.

¿Como valido un correo electronico con regex en Python?

Use re.fullmatch() con un patron de correo estandar o pruebelo en nuestro Validador de Email.

¿Cual es la diferencia entre match() y search()?

match() verifica desde el inicio de la cadena, search() verifica en cualquier parte.

¿Donde puedo probar mis patrones regex de Python?

Use el Probador de Regex Python en Qodex para retroalimentacion y resultados instantaneos.

¿Como escapo caracteres especiales en patrones regex?

Para incluir caracteres especiales de regex (como punto, asterisco, etc.), use una barra invertida como prefijo. Por ejemplo, use \\. para coincidir con un punto literal en lugar de "cualquier caracter".

Pruebe sus APIs hoy

Escriba en lenguaje natural y Qodex lo convierte en pruebas seguras y listas para ejecutar.