Guía de herramienta
Cómo usar Expresiones Regulares
Aprende los caracteres especiales, flags y patrones más usados para buscar, validar y transformar texto.
¿Qué es una expresión regular?
Una expresión regular (regex) es un patrón que describe un conjunto de cadenas de texto. Se usan para buscar, validar y transformar texto de manera eficiente. Son soportadas en prácticamente todos los lenguajes de programación.
En JavaScript, las regex se escriben entre barras: /patrón/flags, o con el constructor new RegExp("patrón", "flags").
Caracteres especiales
Flags
Los flags modifican el comportamiento de la expresión regular. Se agregan después de la última barra: /patrón/gi
gglobalEncuentra todas las coincidencias (no solo la primera)
iinsensitiveIgnora diferencias entre mayúsculas y minúsculas
mmultiline^ y $ aplican a cada línea, no solo al string completo
sdotAllEl punto (.) también coincide con saltos de línea
5 ejemplos prácticos
1. Validar email
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
console.log(emailRegex.test("usuario@ejemplo.com"</span>)); "color:rgba(255,255,255,0.35)"pan>>// truepan>
console.log(emailRegex.test("no-es-email"</span>)); "color:rgba(255,255,255,0.35)"pan>>// falsepan>
console.log(emailRegex.test("a@b.co"</span>)); "color:rgba(255,255,255,0.35)"pan>>// truepan>2. Extraer números de un texto
/\d+/gconst texto = "Tengo 3 gatos y 12 perros en 1 casa"</span>;
const numeros = texto.match(/\d+/g);
console.log(numeros); "color:rgba(255,255,255,0.35)"pan>>// ["3"pan>, "12"</span>, "1"pan>]</span>
"color:rgba(255,255,255,0.35)"pan>>// Convertir a números:pan>
const nums = numeros.map(Number); "color:rgba(255,255,255,0.35)"</span>>// [3, 12, 1]pan>3. Validar contraseña segura
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%]).{8,}$/"color:rgba(255,255,255,0.35)"</span>>// Al menos: 1 minúscula, 1 mayúscula, 1 número, 1 símbolo, mín 8 charspan>
const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%]).{8,}$/;
console.log(passwordRegex.test("Segura1!"</span>)); "color:rgba(255,255,255,0.35)"pan>>// truepan>
console.log(passwordRegex.test("debil123"</span>)); "color:rgba(255,255,255,0.35)"pan>>// false (sin mayúsc/símbolo)4. Buscar URLs en texto
/https?:\/\/[^\s]+/gconst texto = "Visita https:/span>color:rgba(255,255,255,0.35)">//meshicode.com y también http://ejemplo.org"pan>;</span>
const urls = texto.match(/https?:\/\/[^\s]+/g);
console.log(urls);
"color:rgba(255,255,255,0.35)"</span>>// ["https://meshicode.com"pan>, "http://ejemplo.org"pan>]5. Reemplazar texto
/\bcolor\b/giconst texto = "El color azul y el Color rojo son mis colores favoritos"</span>;
"color:rgba(255,255,255,0.35)"pan>>// Reemplazar todas las ocurrencias (flag g) sin importar mayúsculas (flag i)pan>
const resultado = texto.replace(/\bcolor\b/gi, "tono"</span>);
console.log(resultado);
"color:rgba(255,255,255,0.35)"pan>>// "El tono azul y el tono rojo son mis tonos favoritos"pan>Herramienta relacionada
Tester de Regex
Prueba tus expresiones regulares en tiempo real con resaltado de coincidencias y soporte para todos los flags.
Abrir Regex Tester →