#500 · Herramienta para desarrolladores

Regex Flags Explainer

Explica los flags disponibles en expresiones regulares JavaScript y detecta combinaciones inválidas o redundantes antes de compilar un patrón. Introduce una cadena como gim, su significado y los efectos de cada modificador se muestran de forma separada. También se señalan interacciones importantes, como la incompatibilidad entre u y v y el comportamiento con estado de g o y. Sirve como referencia práctica al mover regex entre código, consola y herramientas de prueba.

Datos de entrada

Flags de expresión regular
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Escribe únicamente las letras de los flags, sin barras ni patrón.
  2. Ejecuta el análisis.
  3. Lee el efecto individual de cada modificador.
  4. Corrige duplicados, flags desconocidos o combinaciones incompatibles.

Qué hace esta herramienta para desarrolladores

El resultado describe el comportamiento ECMAScript de cada flag reconocido y añade notas sobre estado, Unicode, índices y compatibilidad.

Se valida la cadena contra d, g, i, m, s, u, v e y. Los duplicados se reportan y u/v se marca como combinación incompatible en RegExp.

El soporte del flag v y de algunas funciones Unicode depende de la versión del navegador. La herramienta comprueba además si el motor actual puede compilar cada flag.

Ejemplo

Entrada:

gim

La salida explica búsqueda global, comparación sin distinguir mayúsculas y modo multilínea.

Casos de uso

  • Recordar diferencias entre g, m y s.
  • Revisar regex copiadas entre proyectos.
  • Detectar por qué una combinación de flags no compila.
  • Documentar el comportamiento esperado de un patrón.

Consejos para obtener resultados fiables

  • No añadas g solo por costumbre si solo necesitas una coincidencia.
  • Recuerda que g e y modifican lastIndex.
  • Usa m para anclas por línea y s para permitir que el punto incluya saltos.
  • Comprueba compatibilidad del flag v antes de usarlo en clientes antiguos.

Detalles del procesamiento

La herramienta compara la entrada con el conjunto de flags ECMAScript actuales, intenta compilar un RegExp vacío con cada flag individual y genera notas de interacción.

No analiza el patrón, por lo que no puede decir si un flag es semánticamente necesario. La disponibilidad real de funciones depende del motor JavaScript del navegador.

Preguntas frecuentes

¿Qué diferencia hay entre los flags m y s en regex JavaScript?

m cambia el comportamiento de ^ y $ para trabajar por líneas; s permite que el punto . también coincida con saltos de línea.

¿Por qué los flags g e y hacen que RegExp tenga estado?

Ambos usan y actualizan la propiedad lastIndex durante las ejecuciones sucesivas, por lo que reutilizar la misma instancia puede cambiar el resultado.

¿Puedo usar los flags u y v al mismo tiempo?

No. Son modos Unicode alternativos y RegExp los considera incompatibles en una misma expresión.

¿Para qué sirve el flag d de JavaScript?

Solicita índices de inicio y fin para la coincidencia y los grupos, disponibles en la propiedad indices del resultado cuando el motor lo soporta.

¿Qué hace el flag v y por qué puede fallar en navegadores antiguos?

Activa el modo Unicode Sets, con capacidades adicionales para conjuntos de caracteres. Es una incorporación más reciente y no está disponible en motores antiguos.

Resumen técnico

ElementoValor
CategoríaFormato de código y expresiones regulares
Número500
EjecuciónLocal en el navegador
DependenciasNinguna