Este probador ejecuta expresiones regulares de JavaScript sobre tu texto y muestra cada coincidencia con su posición y sus grupos de captura. La evaluación ocurre en el navegador, así que nada se sube ni se registra.
Los datos se procesan localmente en tu navegador y no se envían a nuestro servidor.
Patrón no válido:
Coincidencias (2)
Contact ada@example.com or grace@example.org for details.
No hay coincidencias en este texto.
#1ada@example.comen 8
#2grace@example.orgen 27
Cómo usar esta herramienta
1 Escribe una expresión regular y marca los flags que necesites.
2 Pega el texto que quieras buscar; las coincidencias se resaltan y se listan mientras escribes.
3 Elige uno de los ejemplos para partir de un patrón que ya funciona.
4 Copia los valores encontrados o vacía el formulario.
Fórmula y lógica de cálculo
Búsqueda de coincidencias
new RegExp(pattern, flags).exec(text)
El navegador compila el patrón con su motor de JavaScript. Sin el flag g solo se devuelve la primera coincidencia; con g, el probador sigue buscando hasta el final del texto.
Flags
g global · i ignore case · m multiline · s dotAll · u unicode · y sticky
Los flags cambian la forma en que el motor interpreta el patrón. El probador los pasa al constructor RegExp y muestra los errores de sintaxis con el mensaje del motor.
Ejemplo resuelto
Encontrar direcciones de correo
Un mensaje de soporte incluye dos direcciones de correo.
Patrón: \b[\w.+-]+@[\w-]+\.[\w.]+\b
Flag: g
Resultado: ada@example.com y grace@example.org
Cada coincidencia aparece con su índice de inicio; los grupos de captura se muestran cuando el patrón tiene paréntesis.
Capturar una fecha
Extraer año, mes y día de fechas en formato ISO.
Patrón: (\d{4})-(\d{2})-(\d{2})
Flag: g
Grupos: año, mes y día de cada coincidencia
Las partes entre paréntesis se devuelven como grupos de captura en el orden en que aparecen en el patrón.
Casos límite y precisión
Backtracking catastrófico
Los cuantificadores anidados como (a+)+ pueden hacer que el motor tarde un tiempo exponencial con algunas entradas. Si la página se bloquea, simplifica el patrón; el probador no puede interrumpir una expresión en ejecución.
Coincidencias de longitud cero
Patrones como ^ o \b pueden coincidir con una cadena vacía. Tras una coincidencia vacía, el probador avanza la posición de búsqueda para no entrar en un bucle infinito.
Solo sintaxis de JavaScript
El probador usa la sintaxis RegExp de JavaScript, no la de PCRE ni la de Python. Lookbehind y grupos con nombre solo funcionan en motores que los implementan.
Preguntas frecuentes
¿Por qué solo obtengo una coincidencia?+−
Para encontrar todas hace falta el flag g (global). Sin él, el probador se detiene tras el primer resultado.
¿Qué son los grupos de captura?+−
Cada parte del patrón entre paréntesis captura texto. Los grupos se numeran de izquierda a derecha y se muestran junto a la coincidencia, con ∅ para un grupo opcional que no coincidió.
¿Se suben mi patrón y mi texto?+−
No. La búsqueda se ejecuta en tu navegador con el motor RegExp nativo; no se envía nada a un servidor.
¿Por qué mi expresión regular va lenta?+−
Los cuantificadores anidados y las alternativas ambiguas provocan backtracking catastrófico. Reescribe el patrón para que sea más concreto o anclado y reduce el espacio de búsqueda.
¿Admite grupos con nombre?+−
El motor acepta sintaxis moderna de JavaScript, así que los grupos con nombre funcionan cuando el navegador los admite. La lista de resultados muestra los grupos numerados.
Herramientas de desarrollo relacionadas
Formatea, codifica o aplica hash al texto que estás buscando.