Probador y Depurador de Expresiones Regulares

Prueba y depura expresiones regulares online con resaltado en tiempo real, extracción de grupos de captura, vista previa de sustitución y plantillas predefinidas según la especificación ECMAScript ECMA-262.

//
Valid Regex Found 3 matches in 0.09 ms
Test String
227 chars4 lines
Visual Match Highlighting:
Welcome to DevTools Regex Tester! Contact support@example.com for developer assistance. Sales department can be reached at sales.team@company.co.uk or admin@subdomain.org. Feel free to test custom patterns or try presets above.
Match Inspector3 matches
Match #1Line 2 • [42:61]
support@example.com
Match #2Line 3 • [123:147]
sales.team@company.co.uk
Match #3Line 3 • [151:170]
admin@subdomain.org

Cómo usar

1

Introduce el patrón de tu expresión regular en la barra de búsqueda.

2

Activa los modificadores necesarios (g para global, i para ignorar mayúsculas, m para multilínea, s para dotAll, u para Unicode, y para sticky).

3

Pega o escribe tu texto en el editor de cadena de prueba.

4

Examina las coincidencias resaltadas, los índices de posición y los grupos de captura numerados o nombrados en el panel de inspección.

5

Opcionalmente, escribe una plantilla de reemplazo en el modo de sustitución para evaluar transformaciones interactivas.

Cómo funciona la evaluación de expresiones regulares

Una expresión regular (regex) es una secuencia de caracteres que define un patrón de búsqueda. Bajo la especificación ECMAScript ECMA-262, el motor de JavaScript descompone las expresiones en árboles sintácticos abstractos y las compila en autómatas finitos para ejecutar búsquedas de patrones sobre cadenas de texto.

Modificadores RegExp y comportamiento estándar

ModificadorNombreComportamiento estándar
gGlobalBusca todas las coincidencias en la cadena en lugar de detenerse tras la primera. Actualiza la propiedad lastIndex del objeto RegExp.
iIgnore CaseRealiza comparaciones sin distinguir mayúsculas de minúsculas según las reglas de Unicode.
mMultilíneaTrata los anclajes ^ y $ como inicio y fin de cada línea (separadas por \n o \r\n).
sDotAllPermite que el punto . coincida con saltos de línea (\n, \r, \u2028, \u2029).
uUnicodeHabilita el soporte completo de pares sustitutos UTF-16 y escapes de propiedades Unicode como \p{Letter}.
yStickyBusca coincidencias únicamente a partir del índice exacto indicado por la propiedad lastIndex.

Grupos de captura y tokens de sustitución

Los paréntesis (...) crean grupos de captura numerados para extraer subpatrones concretos. Los grupos con nombre (?<name>...) asignan identificadores descriptivos. En modo de sustitución, puedes referenciar las capturas:

  • $&: Inserta la coincidencia completa encontrada.
  • $1, $2, ... $n: Inserta el grupo de captura numerado del 1 al n.
  • $<name>: Inserta el grupo de captura nombrado correspondiente.
  • $`: Inserta la parte del texto que precede a la coincidencia.
  • $': Inserta la parte del texto que sigue a la coincidencia.
  • $$: Escribe un símbolo de dólar literal ($).

Rendimiento y retroceso catastrófico

Cuantificadores anidados sobre subpatrones que se solapan (como (a+)+$) pueden provocar un retroceso catastrófico (catastrophic backtracking). Nuestro evaluador incorpora barreras de seguridad y límites de tiempo de ejecución para evitar bloqueos en el navegador.

Garantía de privacidad total en el cliente

Las cadenas de prueba a menudo contienen registros confidenciales, volcados de bases de datos o credenciales. Todas las tareas de compilación, coincidencia y reemplazo se ejecutan al 100% en local mediante JavaScript en tu navegador. Ningún dato viaja a servidores externos.

Preguntas frecuentes

¿Qué dialecto de expresiones regulares utiliza este evaluador?

Utiliza el motor nativo de JavaScript (ECMAScript) conforme al estándar ECMA-262, compatible con los modificadores g, i, m, s, u e y.

¿Cuál es la diferencia entre grupos de captura y grupos sin captura?

Los paréntesis normales (abc) guardan el texto para reutilizarlo o extraerlo. Los grupos sin captura (?:abc) aplican cuantificadores sin el coste de memoria ni asignación de índice.

¿Qué son las aserciones lookaround?

Son comprobaciones de ancho cero: lookahead positivo (?=...), lookahead negativo (?!...), lookbehind positivo (?<=...) y lookbehind negativo (?<!...). Verifican el contexto sin consumir caracteres en la coincidencia.

¿Por qué mi expresión no encuentra todas las coincidencias en el texto?

Por defecto, la búsqueda finaliza tras encontrar la primera coincidencia. Activa el modificador global (g) para encontrar todas las ocurrencias en el texto.

¿Se almacenan mis textos o expresiones en algún servidor?

No. Todo el análisis se ejecuta enteramente en tu propio navegador. Ninguna información se envía a servidores de terceros.