Probar y depurar expresiones regulares
Qué hace este probador
Una expresión regular es un patrón compacto que describe un conjunto de cadenas: la forma de un correo, una fecha, un número de teléfono o cualquier estructura de texto que se repita. La herramienta compila el patrón que escribes con el motor de expresiones regulares de JavaScript de tu navegador y lo ejecuta sobre el texto de prueba en cuanto haces un cambio, sin un paso de 'ejecutar' aparte. Cada coincidencia se resalta sobre el propio texto, y un panel de detalles enumera cada una con sus grupos capturados y su posición en caracteres.
Como emplea el mismo motor que impulsa RegExp en JavaScript y Node.js, lo que ves aquí es exactamente lo que hará tu código.
Cuándo conviene usarlo
Recurre a él siempre que un patrón no se comporte como esperabas. En lugar de sembrar console.log y volver a lanzar un script, pegas un texto representativo, ajustas el patrón y ves cómo cambian los resaltados al instante. También es ideal para construir un patrón desde cero: empiezas de forma amplia y lo vas afinando hasta que solo se iluminen las coincidencias deseadas.
Las estadísticas en vivo —total de coincidencias, número de grupos, longitud del patrón y del texto, y tiempo de procesamiento— te ayudan a detectar un retroceso catastrófico o un cuantificador demasiado codicioso antes de que llegue a producción.
Ejemplo: reconocer una fecha
Imagina que quieres extraer fechas ISO de un registro. El patrón (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) reconoce 2026-07-18 y la divide en tres grupos con nombre: year, month y day. Con la marca g activada se capturan todas las fechas del texto, no solo la primera. Cambiar \d{2} por \d{1,2} también aceptaría meses de un solo dígito, como 2026-7-8.
Notas y casos límite
Las marcas lo cambian todo: i hace que la coincidencia no distinga mayúsculas de minúsculas, m permite que ^ y $ se anclen a cada línea, s deja que el punto abarque saltos de línea y u activa el tratamiento completo de Unicode. Recuerda que caracteres como . * + ? ( ) [ ] { } \ | ^ $ son especiales y deben escaparse con una barra invertida para reconocerlos de forma literal: para hallar un punto literal escribe \. en vez de ., que coincide con cualquier carácter. Los grupos sin nombre se numeran desde 1 según el orden de su paréntesis de apertura, mientras que (?:...) crea un grupo que no captura.