RegExp : propriété hasIndices
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2021.
La propriété d'accesseur hasIndices des instances de RegExp retourne si l'indicateur d est utilisé pour cette expression rationnelle.
Exemple interactif
const regex1 = /toto/d;
console.log(regex1.hasIndices);
// Résultat attendu : true
const regex2 = /truc/;
console.log(regex2.hasIndices);
// Résultat attendu : false
Description
RegExp.prototype.hasIndices a pour valeur true si l'indicateur d est utilisé ; sinon, false. L'indicateur d indique que le résultat d'une correspondance d'expression rationnelle doit contenir les indices de début et de fin des sous-chaînes de caractères de chaque groupe capturant. Il ne modifie en rien l'interprétation ou le comportement de correspondance de l'expression rationnelle, mais fournit uniquement des informations supplémentaires dans le résultat de la correspondance.
Cet indicateur affecte principalement la valeur de retour de exec(). Si l'indicateur d est présent, le tableau retourné par exec() possède une propriété supplémentaire indices comme décrit dans la valeur de retour de la méthode exec(). Comme toutes les autres méthodes liées aux expressions rationnelles (telles que String.prototype.match()) appellent exec() en interne, elles retournent également les indices si l'expression rationnelle possède l'indicateur d.
L'accesseur en écriture de hasIndices est undefined. Vous ne pouvez pas modifier cette propriété directement.
Exemples
>Utiliser hasIndices
const chaine1 = "toto truc toto";
const regex1 = /toto/dg;
console.log(regex1.hasIndices); // true
console.log(regex1.exec(chaine1).indices[0]); // [0, 3]
console.log(regex1.exec(chaine1).indices[0]); // [8, 11]
const chaine2 = "toto truc toto";
const regex2 = /toto/;
console.log(regex2.hasIndices); // false
console.log(regex2.exec(chaine2).indices); // undefined
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-regexp.prototype.hasIndices> |
Compatibilité des navigateurs
Voir aussi
- La propriété
RegExp.prototype.lastIndex - La méthode
RegExp.prototype.exec() - La propriété
RegExp.prototype.dotAll - La propriété
RegExp.prototype.global - La propriété
RegExp.prototype.ignoreCase - La propriété
RegExp.prototype.multiline - La propriété
RegExp.prototype.source - La propriété
RegExp.prototype.sticky - La propriété
RegExp.prototype.unicode