4. Clases de Caracteres, Rangos ([a-z0-9]) y Atajos (\d, \w, \s)
Conjuntos de caracteres [...], rangos alfanuméricos, negación [^...] y clases abreviadas comunes y sus negaciones (\D, \W, \S).
Definición de Clases de Caracteres con Corchetes [...]
Una clase de caracteres le indica al motor de expresiones regulares: "coincide exactamente con uno de los caracteres contenidos dentro de estos corchetes".
[aeiou]: Coincide con cualquiera de las vocales en minúscula.[0-9]o[a-z]: El guion-dentro de corchetes define un rango según la tabla ASCII / Unicode.[^0-9]: El acento circunflejo^justo al inicio del corchete invierte la clase (negación): coincide con cualquier carácter que no sea un dígito.
Clases Abreviadas (Shorthand Character Classes)
| Atajo | Equivalente Estándar | Significado | Opuesto (Negado) |
|---|---|---|---|
\d |
[0-9] |
Cualquier dígito numérico | \D (Cualquier no-dígito, [^0-9]) |
\w |
[a-zA-Z0-9_] |
Carácter de palabra (alfanumérico y guion bajo) | \W (Símbolos, espacios, signos, [^a-zA-Z0-9_]) |
\s |
[ \t\r\n\f] |
Cualquier espacio en blanco, tabulador o salto de línea | \S (Cualquier carácter visible, no-espacio) |
⚡ Validador de Colores Hexadecimales y Tokens Alfanuméricos
Utiliza rangos y clases de caracteres abreviadas para verificar códigos hexadecimales de CSS y limpiar identificadores de usuario.
// 1. Validador de Códigos de Color Hexadecimal CSS (#fff o #ffffff)
const patronHex = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
const muestrasColor = ["#ffffff", "#4F46E5", "#abc", "#12", "#zzzzzz", "#000"];
console.log("--- 1. Validación de Colores Hexadecimales ---");
muestrasColor.forEach(color => {
const esValido = patronHex.test(color);
console.log(`${color.padEnd(10)} => ${esValido ? "✔ Válido" : "❌ Inválido"}`);
});
// 2. Extracción y Limpieza con Clases Negadas
const inputUsuario = " Teléfono: +57 (300) 123-4567 Ext. 89 ";
// Eliminamos todo lo que NO sea un dígito (\D)
const soloNumeros = inputUsuario.replace(/\D/g, "");
console.log("\n--- 2. Limpieza de Números de Teléfono ---");
console.log("Entrada original: ", inputUsuario.trim());
console.log("Solo dígitos (\\D): ", soloNumeros); // "57300123456789"
// 3. Extracción de palabras clave descartando signos de puntuación
const frase = "¡Hola, mundo! JavaScript ES2024: programación web moderna.";
const palabras = frase.match(/\w+/g);
console.log("\n--- 3. Palabras alfanuméricas con \\w+ ---");
console.log("Tokens extraídos:", palabras);
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección¿Cuál de las siguientes expresiones coincide únicamente con una cadena que contiene exclusivamente caracteres que NO son dígitos?
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Regex en JavaScript: Expresiones Regulares & RegExp y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.