1
// Expresión regular con bandera /d (hasIndices) y grupos con nombre
const regexConIndices = /(?<protocolo>https?):\/\/(?<host>[\w.-]+)/d;
const texto = "Visita https://academia.kilopolis.com para comenzar.";
const match = regexConIndices.exec(texto);
console.log("--- 1. Inspección de match.indices (ES2022) ---");
console.log("Texto completo analizado:", texto);
console.log("Coincidencia general:", match[0]);
// Coordenadas generales [inicio, fin]
const [inicioTotal, finTotal] = match.indices[0];
console.log(`Rango total: [${inicioTotal}, ${finTotal}] => "${texto.slice(inicioTotal, finTotal)}"`);
// 2. Coordenadas de grupos nombrados
console.log("\n--- 2. Coordenadas de Grupos Nombrados ---");
const { protocolo, host } = match.indices.groups;
console.log(`Protocolo indices: [${protocolo[0]}, ${protocolo[1]}] => "${texto.slice(protocolo[0], protocolo[1])}"`);
console.log(`Host indices: [${host[0]}, ${host[1]}] => "${texto.slice(host[0], host[1])}"`);
// 3. Verificación de soporte de bandera en el objeto RegExp
console.log("\n--- 3. Propiedad hasIndices ---");
console.log("¿RegExp tiene activa bandera /d?:", regexConIndices.hasIndices); // true
Haz clic para editar este código