Probador de Regex
Prueba una expresión regular con texto de muestra, resaltado de coincidencias en tiempo real, desglose del patrón en lenguaje sencillo y modo de coincidencia o reemplazo.
Desglose del patrón
Coincidencias
| # | Coincidencia | Posición | Grupos |
|---|
Resultado del reemplazo
Cómo funciona
Esta herramienta prueba una expresión regular con texto de muestra usando el motor RegExp de JavaScript, con coincidencias resaltadas mientras escribes, un desglose en lenguaje sencillo de lo que significa el patrón y grupos de captura con nombre o numerados mostrados para cada coincidencia.
- Ingresa un patrón y banderas
O comienza con un patrón rápido y ajústalo.
- Pega tu cadena de prueba
Las coincidencias se resaltan en tiempo real, con la posición y los grupos de captura listados.
- Cambia a Reemplazar si es necesario
Visualiza el texto sustituido antes de usarlo en tu código.
Lectura del desglose del patrón y la lista de coincidencias
El desglose del patrón lee la expresión regular de izquierda a derecha y explica cada token en lenguaje sencillo: una clase de caracteres, un ancla, un cuantificador, un grupo. Es una guía para entender un patrón, no un analizador completo, por lo que una construcción inusual o mal formada podría describirse de forma genérica.
- Indicadores: g encuentra todas las coincidencias en lugar de detenerse en la primera; i ignora mayúsculas y minúsculas; m hace que ^ y $ coincidan con el inicio y el final de cada línea; s permite que un punto coincida con un salto de línea; u activa el modo Unicode completo; y ancla la coincidencia en el último índice.
- Grupos de captura: los paréntesis capturan parte de una coincidencia para reutilizarla. Un grupo con nombre, (?<year>\d{4}), aparece en la lista de coincidencias tanto por nombre como por número.
- Modo de reemplazo: $1, $2 se refieren a grupos numerados y $<name> a un grupo con nombre, la misma sintaxis que usa String.replace de JavaScript.
Regex de JavaScript, no PCRE
Esta herramienta usa el motor RegExp de JavaScript, que difiere de PCRE (usado en PHP, el módulo re de Python y muchos otros) en varios aspectos: la compatibilidad con búsqueda hacia atrás varía según la versión del motor, los grupos con nombre usan la sintaxis (?<name>...) y el manejo de Unicode difiere sin el indicador u. Prueba siempre en tu lenguaje objetivo antes de implementar un patrón en producción. Todo se ejecuta en tu navegador; tu texto, que puede incluir líneas de registro o datos personales, nunca se envía a ningún lado.
Preguntas frecuentes
¿Cómo pruebo una expresión regular con un texto de muestra en línea?
Ingresa tu patrón entre los dos delimitadores de barra diagonal, define las banderas que necesites (g para global, i para no distinguir mayúsculas de minúsculas) en el campo de banderas y luego escribe o pega tu cadena de prueba. Las coincidencias se resaltan en tiempo real mientras escribes, y la lista de coincidencias inferior muestra cada resultado, su índice y su posición de caracteres.
¿Es seguro usar este probador de regex con datos sensibles?
Sí. El probador de regex se ejecuta completamente en tu navegador mediante el motor RegExp de JavaScript. No se transmiten datos a ningún servidor. Puedes probar patrones de forma segura con líneas de registro reales, datos personales o datos internos sin que salgan de tu computadora.
¿Cómo uso el modo de reemplazo de regex para probar sustituciones?
Cambia el selector de modo de Coincidencia a Reemplazar. Aparecerá un campo de reemplazo donde puedes usar $1, $2 para grupos de captura numerados o $<name> para un grupo con nombre, y la salida reemplazada se muestra en vivo. Esto es útil para validar operaciones de buscar y reemplazar antes de aplicarlas en código o en un editor.
¿Qué son los valores predefinidos de patrones rápidos y cuándo debo usarlos?
Los botones de valores predefinidos (Correo electrónico, URL, dirección IP, Teléfono, Color hexadecimal, Fecha) cargan patrones de regex de uso común con las banderas adecuadas en un solo clic. Úsalos como punto de partida y modifica el patrón para que coincida con tu formato específico. No garantizan cubrir todos los casos extremos; por ejemplo, el valor predefinido de correo electrónico sigue una aproximación común, no la especificación completa RFC 5321.
¿Por qué mi regex funciona en JavaScript pero no en Python u otros lenguajes?
Esta herramienta usa el motor RegExp de JavaScript, que difiere de PCRE (usado en PHP, el módulo re de Python y muchos otros) en varios aspectos. La compatibilidad con lookbehind varía según la versión del motor, los grupos con nombre usan una sintaxis diferente en algunos lenguajes y el manejo de Unicode también difiere. Prueba siempre en el lenguaje de destino antes de implementar un patrón en producción.