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
- Resaltado en vivo de coincidencias en el texto de prueba
- Todos los resultados de coincidencia con grupos de captura listados
- Activar/desactivar banderas: g, i, m, s, u, y
- Modo de reemplazo: probar cadenas de reemplazo con $1/$2
- Captura patrones malformados con errores claros
- El tiempo límite de 200 ms evita el congelamiento por patrones deficientes
- Sintaxis de expresiones regulares de JavaScript (se admiten características ES2018+)
Cómo usar
- 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
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
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
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
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
- Siempre pruebe con casos de borde: cadenas vacías, cadenas que no deberían coincidir y casos de límite
- La bandera 's' (dotAll) a menudo se pasa por alto — sin ella, el punto . no coincide con saltos de línea, lo que sorprende a muchos desarrolladores
- Use grupos no capturadores (?:...) cuando no necesite extraer el contenido del grupo — son más eficientes
- Las clases de caracteres como [a-z] dentro de una expresión regular de JavaScript con la bandera 'u' manejan Unicode correctamente; sin 'u', pueden no coincidir con letras no ASCII