MV Tools

Una ejecución real de casos límite regex

Cómo probar expresiones regulares JavaScript con casos límite y reemplazos más seguros

Un flujo para revisar expresiones regulares de JavaScript: convierte la intención en casos, verifica el motor y los modificadores y evita patrones costosos con datos de producción.

Equipo editorial de MV ToolsActualizado 8 min de lectura

Abrir herramienta

Describe antes de escribir

Escribe entradas que deben coincidir y otras que no, incluidos límites, cadenas vacías, Unicode y casos que casi coinciden. Indica si necesitas una coincidencia completa o un grupo.

Las anclas, los límites, los espacios, las partes opcionales y los escapes suelen decidir el resultado. Usa un analizador para JSON, URL, fechas o marcado cuando importe la gramática completa.

Anclas y multilinea evalúan cada línea completa sin aceptar fragmentos.
Anclas y multilinea evalúan cada línea completa sin aceptar fragmentos.

Usa el mismo motor y flags explícitos

La herramienta usa JavaScript RegExp: g, i, m, s, u e y. PCRE, Python, Java, .NET, base de datos o servidor pueden diferir.

g considera ocurrencias, m cambia ^ y $, s deja que punto coincida saltos, u cambia Unicode e y exige posición exacta.

Anclas y multilinea evalúan cada línea completa sin aceptar fragmentos.
Anclas y multilinea evalúan cada línea completa sin aceptar fragmentos.

Revisa grupos y reemplazo

Comprueba grupos numerados y nombrados tanto presentes como opcionales ausentes.

Prueba $&, $1 y $<name>. Con reemplazo, esta herramienta sustituye globalmente incluso sin g.

La casi coincidencia y la línea larga quedan sin cambios.
La casi coincidencia y la línea larga quedan sin cambios.

Evita riesgo de rendimiento

Repeticiones ambiguas anidadas como `(a+)+` o `(.*)*` sobre casi coincidencias largas pueden ser muy lentas.

El límite es de 500 KB y 1.000 coincidencias, pero no hay aislamiento en un proceso separado ni tiempo máximo de ejecución. Usa muestras adversarias cortas y protecciones de servidor para entradas no confiables.

La casi coincidencia y la línea larga quedan sin cambios.
La casi coincidencia y la línea larga quedan sin cambios.

Conserva casos repetibles

Guarda el patrón, los modificadores, los ejemplos y los resultados esperados junto al código y conviértelos en una prueba automática en el entorno de ejecución final.

Todo es local, pero logs, tokens, correos y URLs firmadas siguen siendo sensibles; usa muestras redactadas.

Anclas y multilinea evalúan cada línea completa sin aceptar fragmentos.
Anclas y multilinea evalúan cada línea completa sin aceptar fragmentos.

Preguntas frecuentes

¿Por qué falla en servidor?

El servidor puede usar otro motor o dialecto.

¿g cambia reemplazo?

La vista con reemplazo aplica globalmente.

¿500 KB evita regex lentas?

No. La herramienta no impone un tiempo máximo de ejecución.