Probador de Expresiones Regulares
Ingresa un patrón y una cadena de prueba — las coincidencias se resaltan en vivo. El patrón y las banderas se sincronizan con la URL para compartir; tu cadena de prueba, nunca.
Resultado resaltado
Coincidencias (0)
Prueba expresiones regulares de JavaScript contra texto real
Esta herramienta construye un RegExp nativo a
partir de tu patrón y tus banderas, y lo ejecuta contra tu
cadena de prueba igual que lo haría tu propio código JavaScript
— con matchAll() cuando la bandera global está
activa, o un solo exec() cuando no lo está. Cada
coincidencia se resalta en su lugar, y cada una se lista abajo
con su índice en la cadena y el texto capturado por cualquier
grupo entre paréntesis.
Ejemplo práctico
Patrón: (\w+)@(\w+)\.com, banderas gu, contra "Contact alice@example.com or bob@test.com for help."
-
Coincidencia 1 en el índice 8:
alice@example.com— Grupo 1:alice· Grupo 2:example -
Coincidencia 2 en el índice 29:
bob@test.com— Grupo 1:bob· Grupo 2:test
Dos coincidencias, porque la bandera global está activa — sin ella, la herramienta se detendría después de encontrar "alice@example.com" solamente.
Preguntas frecuentes
¿Por qué el punto (.) no coincide con un salto de línea en mi texto de prueba?
Por defecto, el . de JavaScript coincide con cualquier carácter excepto los terminadores de línea. Si tu cadena de prueba tiene varias líneas y necesitas que . también cruce entre ellas, activa la bandera s (dotAll) — con ella, . también coincide con saltos de línea. Sin esa bandera, un patrón como a.b coincide con "axb" pero no con "a\nb"; con la bandera s, ambos coinciden.
¿Qué hace cada bandera (flag)?
g (global) busca todas las coincidencias en vez de detenerse en la primera. i (ignoreCase) hace la búsqueda insensible a mayúsculas/minúsculas. m (multiline) hace que ^ y $ coincidan con el inicio/fin de cada línea, no solo de toda la cadena. s (dotAll) hace que . también coincida con saltos de línea. u (unicode) trata el patrón como una secuencia de puntos de código Unicode, lo que corrige la coincidencia de caracteres fuera del plano básico multilingüe (muchos emoji) y habilita escapes de propiedad Unicode como \p{L}.
¿Es sintaxis de expresiones regulares específica de JavaScript?
Sí. Esta herramienta construye un RegExp nativo de JavaScript, así que sigue las reglas de JS al pie de la letra — y eso no es universal. Otras herramientas y lenguajes usan dialectos distintos: PCRE (usado por PHP, y un superconjunto en el que muchas herramientas se inspiran) admite sintaxis que JS no tiene (como grupos atómicos y cuantificadores posesivos), y a la inversa, JS tiene funciones que versiones antiguas de PCRE no tienen. Si escribes un patrón para grep, el módulo re de Python, o una herramienta basada en PCRE, pruébalo también ahí — que coincida aquí no garantiza que coincida en otro lado.
¿Cómo funcionan los grupos de captura?
Los paréntesis en un patrón crean un grupo de captura — el texto que ese grupo encontró se extrae por separado de la coincidencia completa. Por ejemplo, (\w+)@(\w+)\.com contra "alice@example.com" coincide con toda la cadena como grupo 0 (la coincidencia completa), con el grupo 1 capturando "alice" y el grupo 2 capturando "example". Esta herramienta lista el texto capturado por cada grupo debajo de cada coincidencia.