Probador de expresiones regulares

Prueba patrones contra texto real, en tu navegador.

Coincidencias

  
#TipoValorPosición

Funciona en tu navegador. Nada de lo que escribes se envía a ningún sitio.

Cómo probar una expresión regular

  1. Escribe o pega tu patrón y elige los modificadores que necesites.
  2. Pega el texto contra el que quieres comparar.
  3. Revisa las coincidencias resaltadas, la tabla de grupos, o previsualiza un reemplazo.

Referencia rápida de sintaxis regex

PatrónCoincide con
\dCualquier dígito, del 0 al 9
\wCualquier letra, dígito o el carácter _
\sCualquier carácter de espacio en blanco
+Uno o más del token anterior
*Cero o más del token anterior
?Cero o uno, o hace perezoso a un cuantificador
^ y $Inicio y fin de la cadena o de la línea

Funciones de regex en JavaScript

FunciónSintaxisNota
Grupos con nombre(?<nombre>...)Compatible desde ES2018
Lookbehind(?<=...) y (?<!...)Compatible desde ES2018
Modo Unicodemodificador uNecesario para escapes de propiedad Unicode como \p{Letter}
Sin distinguir mayúsculasmodificador iLa misma idea que en la mayoría de los otros lenguajes

Consejos para escribir patrones

  • Escapa caracteres especiales como . ( ) [ ] con una barra invertida cuando quieras el carácter literal.
  • Usa un grupo no capturador (?:...) para agrupar cuando no necesites hacer referencia a esa coincidencia después.
  • Los cuantificadores codiciosos capturan todo lo que pueden. Añade un ? después de uno, como +?, para una coincidencia perezosa que se detiene en el primer punto posible.
  • Prueba con casos límite, como una cadena vacía o espacios extra, no solo con el texto que esperas que coincida.

Preguntas frecuentes sobre Probador de regex

¿Por qué dejó de responder mi patrón?

Algunos patrones pueden retroceder de forma exponencial con cierto texto. La comparación se ejecuta en un worker en segundo plano con un límite de 1,5 segundos, así que un patrón descontrolado se detiene en lugar de congelar la pestaña.

¿Qué significan los modificadores?

g encuentra todas las coincidencias en lugar de solo la primera, i ignora mayúsculas y minúsculas, m hace que ^ y $ coincidan línea por línea, s hace que el punto también coincida con saltos de línea, u activa el modo Unicode completo, y ancla la coincidencia al último índice, y d añade posiciones de inicio y fin para cada coincidencia.

¿El cuadro de reemplazo cambia mi texto de prueba?

No. Muestra lo que produciría String.replace en un cuadro de resultado aparte, así que el texto de prueba que escribiste se queda exactamente igual.

¿Se admiten los grupos de captura con nombre?

Sí. Escribe un grupo como (?<nombre>...) y su nombre aparece junto al número de grupo en la tabla de coincidencias.

¿Se envía mi texto a algún sitio?

No. La comparación se ejecuta en un worker dentro de tu propia pestaña del navegador, y nada de lo que escribes sale de la página.

¿Qué variante de regex usa esto?

El motor RegExp nativo de JavaScript de tu navegador, el mismo que ejecuta tus patrones si estás construyendo una aplicación web o un script de Node.js.

¿Qué es el retroceso catastrófico?

Es cuando un patrón con grupos repetidos anidados, como (a+)+b, puede tardar exponencialmente más en fallar a medida que la entrada crece aunque sea un solo carácter. El límite de 1,5 segundos del worker aquí detiene un patrón así antes de que pueda congelar la página.

¿Pueden ^ y $ coincidir con el inicio y el final de cada línea, no solo de toda la cadena?

Sí, activa el modificador m (multilínea). Sin él, ^ y $ solo coinciden con el inicio y el final de todo el texto de prueba.

Herramientas relacionadas