Probador de regex

Prueba y depura expresiones regulares en vivo con las coincidencias resaltadas.

0 caracteres
Detalles de las coincidencias

Escribe un patrón para ver cada coincidencia y sus grupos de captura.

Referencia rápida
.
Cualquier carácter excepto un salto de línea
\d \w \s
Dígito, carácter de palabra, espacio en blanco
\D \W \S
No dígito, no carácter de palabra, no espacio en blanco
[abc] [^abc]
Uno de los caracteres, o ninguno de ellos
[a-z]
Un carácter del rango
^ $
Inicio y fin de la cadena (o de la línea con m)
\b
Límite de palabra
* + ?
0 o más, 1 o más, 0 o 1
{3} {2,5}
Exactamente 3, entre 2 y 5
*? +?
Perezoso: coincide con lo mínimo posible
(…) (?:…)
Grupo de captura y grupo sin captura
(?<name>…)
Grupo con nombre, $<name> en los reemplazos
a|b
a o b
(?=…) (?!…)
Seguido de, no seguido de
(?<=…) (?<!…)
Precedido de, no precedido de
$1 $& $<name>
Reemplazo: grupo 1, coincidencia completa, grupo con nombre

Usa el motor RegExp de JavaScript de tu navegador, así que los resultados son los mismos que dan String.prototype.match y replace en tu código.

Sobre el probador de regex

Crea y depura expresiones regulares sobre un texto de ejemplo y ve las coincidencias resaltadas mientras escribes. Cada grupo de captura aparece por separado, las flags se activan con un clic y el modo de reemplazo muestra una vista previa del resultado. La herramienta usa el motor RegExp nativo del navegador, así que se comporta exactamente igual que JavaScript en lugar de imitar otro dialecto.

Cómo usar el probador de regex

  1. Escribe el patrón y elige las flags

    Escribe la expresión y activa flags como g (global), i (sin distinguir mayúsculas y minúsculas), m (multilínea) y s (dotAll). Si el patrón no es válido, verás el mensaje de error del motor, en inglés, tal como lo da el navegador.

  2. Pega el texto de prueba

    Cada coincidencia se resalta en el propio texto, y en «Detalles de las coincidencias» aparece con su número, su posición en la cadena y cada grupo de captura por separado.

  3. Prueba un reemplazo

    Cambia al modo «Reemplazar» y escribe en «Reemplazar por» una cadena de sustitución con $1, $2 o referencias a grupos con nombre para ver una vista previa del resultado.

Casos de uso

Escribir un patrón de validación

Prueba una expresión con entradas válidas y con otras mal formadas a propósito antes de usarla para validar un formulario.

Extraer datos de logs

Diseña grupos de captura que saquen timestamps, códigos de estado o identificadores de una línea de log.

Depurar un patrón que falla

Averigua qué parte de una expresión es demasiado codiciosa o demasiado estricta editándola sobre texto de ejemplo real.

Preguntas frecuentes

¿Qué dialecto de regex usa?

JavaScript (ECMAScript), porque funciona con el motor RegExp nativo del navegador. Los patrones que dependen de funciones de PCRE o de Python, como variantes del lookbehind, grupos atómicos o cuantificadores posesivos, pueden comportarse de otra forma o no compilar.

¿Por qué mi patrón solo encuentra la primera coincidencia?

Porque la flag global está desactivada. Activa «g» para encontrar todas las coincidencias en lugar de quedarte en la primera.

¿Cómo hago referencia a los grupos de captura en un reemplazo?

Usa $1, $2, etc. para los grupos numerados, o $<name> para los grupos con nombre declarados con (?<name>...). Usa $& para insertar la coincidencia completa.

¿Mis datos de prueba se envían a algún sitio?

No. Tanto el patrón como el texto de ejemplo se evalúan en tu dispositivo, así que puedes probar sin riesgo con fragmentos reales de logs.

¿Por qué mi expresión bloquea la página?

Los cuantificadores anidados como (a+)+ pueden provocar un backtracking catastrófico, en el que el motor explora un número exponencial de caminos. Simplifica el anidamiento o ancla el patrón de forma más estricta.