Probador de regex
Prueba regex de JavaScript en tiempo real con todos los flags (g i m s u y d): coincidencias resaltadas, grupos de captura y con nombre, índices y vista previa del reemplazo.
Usa el motor de expresiones regulares JavaScript (ECMAScript) de tu navegador en un worker en segundo plano. Sintaxis de PCRE/Python como los cuantificadores posesivos o los modificadores (?i) en línea pueden no estar disponibles.
¿Qué es Probador de regex?
Prueba una expresión regular de JavaScript sobre tu texto mientras escribes. Las coincidencias se resaltan, una tabla muestra cada coincidencia con su posición, los grupos de captura numerados y con nombre (y los índices de los grupos con el flag d), y una vista previa opcional del reemplazo muestra el resultado de String.replace. Los patrones se ejecutan en un worker en segundo plano que se detiene a los 1,5 segundos, así que los patrones catastróficos no pueden bloquear la página.
Cómo usar Probador de regex
- Introduce el patrón (sin barras) en Expresión regular.
- Marca los flags que necesites: g, i, m, s, u, y, d.
- Pega el texto en el que quieres buscar en Texto de prueba; las coincidencias se actualizan automáticamente.
- Marca Reemplazar coincidencias por… y escribe un reemplazo (con $1, $<name>, $& …) para previsualizar el resultado.
Ejemplo
Pattern (?<y>\d{4})-(\d{2}) with flags g, text "a 2024-05 b 1999-12", replacement $2/$<y> 2 match(es) · replaced: a 05/2024 b 12/1999
Cuándo usar Probador de regex
Úsalo para crear y depurar regex para JavaScript, TypeScript y Node.js, y para reglas de validación o búsqueda y reemplazo. Otros motores (PCRE, Python, Java, .NET, POSIX) difieren en sintaxis y funciones (por ejemplo, no están disponibles los cuantificadores posesivos, los modificadores en línea como (?i) ni los anclajes \A/\Z), así que pruébalos también allí cuando sean tu destino.
Cómo funciona Probador de regex
El patrón se compila con new RegExp(pattern, flags) dentro de un Web Worker. Con g o y, la herramienta recorre exec() en bucle y reúne hasta 1000 coincidencias (las coincidencias vacías avanzan un punto de código para evitar bucles infinitos); sin ellos, solo se indica la primera coincidencia, exactamente como en JavaScript. Cada coincidencia registra su índice inicial y final, los grupos de captura, los grupos con nombre y, con el flag d, los indices de cada grupo. La vista previa del reemplazo ejecuta text.replace(regex, replacement). Si el worker no responde en 1500 ms, se termina y se muestra un mensaje de tiempo agotado.
Casos de Uso Comunes
- Depurar un patrón de validación para un formulario
- Extraer datos con grupos de captura con nombre
- Previsualizar una búsqueda y reemplazo antes de ejecutarla en archivos
- Aprender cómo cambian la búsqueda flags como m, s y u
- Comprobar si un patrón sufre backtracking catastrófico
Preguntas Frecuentes
¿Por qué mi regex solo encuentra la primera coincidencia?
Sin el flag g (global), JavaScript se detiene tras la primera coincidencia. Marca g para listar todas.
¿Qué hace el flag d?
Añade indices a cada coincidencia, con la posición inicial y final de cada grupo de captura. La herramienta los muestra junto a cada grupo.
¿Qué pasa con un patrón catastrófico como (a+)+$?
El worker que lo ejecuta se termina a los 1,5 segundos y ves un mensaje de tiempo agotado en lugar de una pestaña bloqueada.
¿Es compatible con las regex de PCRE o Python?
En la sintaxis básica, en su mayor parte, pero no del todo. Usa el motor ECMAScript de tu navegador.