
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.bcoincide conacb,a9b, etc., pero no conab.^- Coincide con el inicio de una cadena.Ejemplo:
^Holacoincide 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|perrocoincide con "gato" o "perro".
Clases de Caracteres
[abc]- Coincide con cualquiera dea,boc.Ejemplo:
gr[ae]ycoincide con "gray" y "grey".[^abc]- Niega el conjunto. Coincide con cualquier caracter exceptoa,boc.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}- Exactamentenocurrencias.Ejemplo:
a{3}coincide con "aaa".{n,}- Al menosnocurrencias.Ejemplo:
a{2,}coincide con "aa", "aaa", "aaaa"...{n,m}- Entrenymocurrencias.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\wy\W).Ejemplo:
\bgato\bcoincide 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 conre.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
Ingrese su patron regex y la cadena de prueba.
Vea las coincidencias y grupos de captura al instante.
Copie, edite y refine su patron hasta que sea perfecto.
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.VERBOSEpara 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?
¿Como hago que regex no distinga mayusculas en Python?
¿Como valido un correo electronico con regex en Python?
¿Cual es la diferencia entre match() y search()?
¿Donde puedo probar mis patrones regex de Python?
¿Como escapo caracteres especiales en patrones regex?
Related Articles



Pruebe sus APIs hoy
Escriba en lenguaje natural y Qodex lo convierte en pruebas seguras y listas para ejecutar.



