Probador de Regex

Prueba y depura expresiones regulares con coincidencia en tiempo real

Leer la guía completa
//g
Banderas:
Patrones comunes:

Prueba y depura expresiones regulares (regex) con coincidencia visual en tiempo real. Ve exactamente qué partes del texto coinciden, captura grupos con colores diferentes, y experimenta con flags (global, case-insensitive, multiline). Incluye biblioteca de patrones comunes: emails, URLs, teléfonos, CURP, RFC mexicano, cédulas colombianas, y más. Funcionalidad de reemplazar con soporte para grupos de captura ($1, $2). Esencial para desarrolladores validando formularios, parseando logs, o extrayendo datos. Todo el procesamiento es local—tus datos y expresiones nunca salen de tu navegador.

Las expresiones regulares (regex o regexp) son patrones que describen conjuntos de cadenas de texto. Permiten buscar, validar, y manipular texto con reglas sofisticadas. Componentes básicos: (1) Literales: abc coincide con 'abc'. (2) Metacaracteres: . (cualquier carácter), * (cero o más), + (uno o más), ? (opcional). (3) Clases: [a-z] (letras), \d (dígitos), \s (espacios). (4) Anclas: ^ (inicio), $ (fin), \b (límite de palabra). (5) Grupos: (abc) captura, (?:abc) no captura. (6) Cuantificadores: {3} (exactamente 3), {2,5} (entre 2 y 5). Regex es soportado en JavaScript, Python, PHP, Java, .NET, y casi todos los lenguajes. La sintaxis varía ligeramente entre dialectos, pero los conceptos son universales.

Validar Datos de Formularios

Valida emails, teléfonos mexicanos (+52...), CURPs, RFCs, y formatos específicos. Proporciona feedback inmediato a usuarios sobre formato incorrecto.

Extraer Datos de Texto

Parsea logs de servidor para extraer IPs, timestamps, y errores. Extrae precios de páginas web, números de factura, o cualquier patrón estructurado.

Buscar y Reemplazar Avanzado

Reemplaza patrones complejos en código: reformatea fechas DD/MM/YYYY a YYYY-MM-DD, normaliza teléfonos, o transforma estructuras de datos.

Validar Identificadores LATAM

Crea patrones para CURP (18 caracteres), RFC (12-13 caracteres), cédulas colombianas, CUIT argentino, RUT chileno con validación de formato.

Sanitizar Input

Filtra caracteres no permitidos, normaliza espacios, y limpia datos de usuario antes de procesarlos o almacenarlos en base de datos.

El probador usa el motor de expresiones regulares nativo de JavaScript (V8, SpiderMonkey, etc.). Proceso: (1) Se compila el patrón con new RegExp(pattern, flags). (2) Se ejecuta contra el texto de prueba. (3) Para flag 'g' (global), se iteran todas las coincidencias. (4) Se extraen grupos de captura de cada match. (5) Se resaltan coincidencias en el texto con colores. (6) Para reemplazo, se usa string.replace(regex, replacement). (7) El rendering es en tiempo real—cada cambio actualiza resultados. JavaScript regex soporta lookahead (?=...), lookbehind (?<=...) en navegadores modernos, y Unicode categories (\p{L}) con flag 'u'.

FlagSintaxisEfecto
GlobalgEncuentra todas las coincidencias, no solo la primera
Case Insensitiveiabc coincide con ABC, Abc, aBc
Multilinem^ y $ coinciden inicio/fin de cada línea
Dotalls. también coincide con saltos de línea
UnicodeuHabilita \p{} y manejo correcto de caracteres Unicode

Regex básico funciona en todos los navegadores. Lookbehind (?<=) requiere Chrome 62+, Firefox 78+, Safari 16.4+. Named groups (?<name>) desde ES2018. La herramienta incluye patrones preconfigurados para México (CURP, RFC, teléfonos), Colombia (cédulas, NIT), Argentina (CUIT, DNI), y formatos internacionales.

Preguntas Frecuentes

¿Por qué mi regex no coincide?
Causas comunes: (1) Falta flag 'i' para ignorar mayúsculas. (2) Metacaracteres sin escapar (. * + necesitan \). (3) Anclas incorrectas (^ $ requieren flag 'm' para multilínea). (4) Espacios o caracteres invisibles en el texto. Usa la herramienta para depurar paso a paso.
¿Cómo uso grupos de captura en reemplazo?
Usa paréntesis para capturar: /(\d{2})\/(\d{2})\/(\d{4})/. En reemplazo, $1 es el primer grupo, $2 el segundo. Ejemplo: '25/12/2024' con reemplazo '$3-$2-$1' produce '2024-12-25'.
¿Regex es igual en todos los lenguajes?
Los conceptos básicos son iguales, pero hay diferencias. JavaScript no tiene \A \Z (usa ^$), Python tiene raw strings r'...', PHP requiere delimitadores /pattern/. Esta herramienta usa sintaxis JavaScript—puede necesitar ajustes para otros lenguajes.
¿Cómo valido un CURP o RFC?
CURP: ^[A-Z]{4}\d{6}[HM][A-Z]{5}[A-Z0-9]\d$ (18 caracteres, homoclave). RFC persona física: ^[A-Z]{4}\d{6}[A-Z0-9]{3}$ (13 caracteres). Estos patrones validan formato, no la validez real del identificador (que requiere verificar con SAT).

Herramientas Relacionadas