Probador de Regex
Prueba expresiones regulares de JavaScript en vivo: coincidencias resaltadas, inspección de grupos de captura, las seis banderas, biblioteca de patrones, vista previa de buscar y reemplazar y fragmento de código copiable, todo en tu navegador.
Coincidencias resaltadas (3 coincidencias)
Contact ada@example.com or help+regexkit@mail.co.uk for support. Orders go to sales@shop-example.org, but not to not-an-email@.
Detalle de coincidencias
| # | Coincidencia | Índice | Grupos de captura | Grupos con nombre |
|---|---|---|---|---|
| 1 | ada@example.com | 8 | 1: "ada", 2: "example.com" | ninguno |
| 2 | regexkit@mail.co.uk | 32 | 1: "regexkit", 2: "mail.co.uk" | ninguno |
| 3 | sales@shop-example.org | 78 | 1: "sales", 2: "shop-example.org" | ninguno |
Sustitución (buscar y reemplazar)
El reemplazo usa tus banderas tal como las escribiste: sin g, solo se reemplaza la primera coincidencia, igual que String.replace en JavaScript.
Contact ada at example.com or help+regexkit at mail.co.uk for support. Orders go to sales at shop-example.org, but not to not-an-email@.
Patrones comunes
Elige uno para cargarlo en el campo del patrón.
Úsalo en código
const re = /(\w+)@([\w.-]+\.[a-z]{2,})/g;
const matches = [...text.matchAll(re)];
// matches[i][0] = full match, matches[i][1..] = capture groupsEl fragmento usa matchAll, así que lista cada coincidencia con sus grupos de captura.
Privacidad: la comparación corre localmente en tu navegador con el motor RegExp de JavaScript. Tu patrón y tu texto nunca se suben, guardan ni registran.
Más herramientas para desarrolladores: Formateador JSON, Codificador Base64, Generador de UUID, Comparador de Textos
Cómo funciona esta calculadora
Una expresión regular, o regex, es un patrón compacto que describe un conjunto de cadenas: \d+ significa uno o más dígitos, \w+@ significa uno o más caracteres de palabra seguidos de un arroba, y ^ ancla una coincidencia al inicio de una línea. Los desarrolladores usan regex para validar formularios, extraer correos de un texto, reescribir líneas de registro y renombrar archivos en lote. El problema es que un patrón que parece correcto a menudo coincide con lo incorrecto, o con nada, y la única forma de saberlo es ejecutarlo contra texto real. Eso es lo que hace un probador de regex: escribes el patrón, pegas el texto y cada coincidencia se ilumina al instante.
Ejemplo concreto: carga el ejemplo y el patrón (\w+)@([\w.-]+\.[a-z]{2,}) corre contra un párrafo de contactos. Encuentra tres direcciones de correo, ada@example.com, regexkit@mail.co.uk y sales@shop-example.org, mientras ignora correctamente not-an-email@, que no tiene dominio. La tabla de coincidencias muestra por qué funcionó cada una: el grupo 1 guarda el usuario (ada, regexkit, sales) y el grupo 2 guarda el dominio (example.com, mail.co.uk, shop-example.org). Activa la bandera i y el mismo patrón empieza a aceptar direcciones en mayúsculas; quita la bandera g y solo se encuentra la primera dirección, que es exactamente como se comporta String.replace sin g.
Tres cosas hacen este probador más seguro que pegar patrones en un sitio cualquiera. Primero, todo corre localmente en tu navegador con el motor RegExp de JavaScript, el mismo motor que usan Node.js y todos los navegadores, así que un patrón que pasa aquí se comporta igual en tu código, y tu texto de prueba nunca se sube, guarda ni registra. Segundo, los patrones inválidos fallan con el mensaje de error del propio motor en lugar de no coincidir en silencio, lo que revela corchetes sin cerrar y cuantificadores malos al instante. Tercero, la tabla de coincidencias expone los grupos de captura, incluidos los grupos con nombre, para confirmar el orden de los grupos antes de publicar el patrón. Una advertencia honesta: los cuantificadores anidados como (a+)+ sobre entradas casi coincidentes pueden tardar un tiempo exponencial, un defecto llamado backtracking catastrófico, así que prueba patrones sospechosos contra tu entrada real más larga antes de desplegarlos. Combina este probador con el Formateador JSON, las herramientas Base64 y el Comparador de Textos del mismo grupo para desarrolladores.
