UltraConvert
Herramientas de Texto

Prueba de Expresiones Regulares

Desarrolle y depure expresiones regulares con pruebas en vivo contra su texto de muestra. El resaltado visual de coincidencias muestra exactamente qué coincide. Inspeccione grupos de captura, pruebe cadenas de reemplazo y active todas las banderas de expresiones regulares de JavaScript. Un límite de ejecución de 200 ms evita que los patrones descontrolados congeleen su navegador.

¿Qué hace esta herramienta?

El Prueba de Expresiones Regulares proporciona un entorno interactivo para desarrollar expresiones regulares de JavaScript. Ofrece resaltado en vivo de coincidencias en el texto de prueba, inspección detallada de grupos de captura (tanto numerados $1, $2 como grupos nombrados), todas las banderas de expresiones regulares de JavaScript (g global, i sin distinguir mayúsculas/minúsculas, m multilinea, s dotAll, u unicode, y sticky), y un modo de reemplazo para probar sustituciones de expresiones regulares con referencias $1, $2. La interfaz captura errores comunes de expresiones regulares y previene el retroceso catastrófico con un tiempo límite de 200 ms por ejecución.

Cómo funciona

La herramienta construye un objeto RegExp de JavaScript desde su cadena de patrón y las banderas seleccionadas. Para las coincidencias, utiliza RegExp.prototype.exec() en un bucle para coincidencias globales o una ejecución única para no globales. Las coincidencias se resaltan calculando las posiciones de caracteres en el texto. Los grupos de captura se extraen del array de coincidencia (el índice 0 es la coincidencia completa, 1+ son grupos). Para el reemplazo, se utiliza String.prototype.replace() con su cadena de reemplazo que puede referenciar $& (coincidencia completa), $1-$99 (grupos de captura), $` (antes de la coincidencia), $' (después de la coincidencia). Un supervisor basado en setTimeout interrumpe la ejecución si excede 200 ms, protegiendo contra patrones de ReDoS (Denegación de Servicio de Expresiones Regulares).

Características

Cómo usar

  1. 1

    Ingrese su patrón

    Escriba el patrón de expresión regular sin barras iniciales/finales — solo el cuerpo del patrón. Use la sintaxis estándar de expresiones regulares de JavaScript.

  2. 2

    Active/desactive las banderas según sea necesario

    g para global (encuentra todas las coincidencias), i para sin distinguir mayúsculas/minúsculas, m para ^/$ coincidir inicio/final de línea, s para punto coincidir saltos de línea, u para Unicode, y para coincidencia pegajosa.

  3. 3

    Pegue el texto de prueba

    Ingrese texto de muestra que debería coincidir (y algunos que no deberían). Las coincidencias se resaltan en vivo mientras edita. Haga clic en cualquier coincidencia para ver detalles.

  4. 4

    Revise las coincidencias y grupos

    Cada coincidencia muestra el texto completo, la posición y todos los grupos de captura. Use esto para verificar que su patrón extraiga los datos correctos.

  5. 5

    Pruebe el reemplazo (opcional)

    Cambie al modo de Reemplazo para probar patrones de sustitución. Use $1, $2 para referencias de grupos de captura, $& para la coincidencia completa.

Casos de uso comunes

Desarrollo de patrones

Construya y refine patrones de expresión regular para validación de datos, análisis, extracción y procesamiento de texto antes de agregarlos al código.

Depuración de problemas de expresión regular

Cuando una expresión regular en su código se comporta de manera inesperada, péguela aquí con datos de muestra para aislar el problema.

Planificación de extracción de datos

Desarrolle patrones para análisis de registros, web scraping o limpieza de datos probándolos contra datos de muestra reales.

Prueba de estrategia de reemplazo

Pruebe patrones de buscar-y-reemplazar con grupos de captura antes de aplicarlos a grandes conjuntos de datos o código de producción.

Consejos y buenas prácticas

Preguntas frecuentes

¿Soporta características exclusivas de PCRE?
Utiliza RegExp de JavaScript. Los navegadores modernos admiten características ES2018+: retrocesos (?<=...), grupos nombrados (?<name>...) y escapes de propiedad Unicode \p{...}. Estos funcionan en los navegadores actuales.
¿Qué hay de la inyección de expresión regular si pego patrones no confiables?
El tiempo límite de 200 ms por intento de coincidencia previene ataques de retroceso catastrófico (ReDoS). Los patrones que ejecutarían para siempre se interrumpen de manera segura.
¿Por qué mi patrón coincide de manera diferente que en Python/PHP/Java?
Los diferentes lenguajes tienen sabores de expresión regular ligeramente diferentes. JavaScript carece de algunas características (grupos atómicos, cuantificadores posesivos) y tiene un comportamiento ligeramente diferente para algunos casos de borde. Esta herramienta muestra el comportamiento de JavaScript.
¿Puedo guardar o compartir mi expresión regular?
Actualmente los patrones no se guardan en la herramienta. Copie el patrón y las banderas manualmente para compartir o guardar. El compartir basado en URL está en la hoja de ruta.

Herramientas relacionadas