Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

RegExp : propriété global

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 juillet 2015.

La propriété d'accesseur global des instances de RegExp retourne si l'indicateur g est utilisé pour cette expression rationnelle.

Exemple interactif

const regex1 = /toto/g;

console.log(regex1.global);
// Résultat attendu : true

const regex2 = /truc/i;

console.log(regex2.global);
// Résultat attendu : false

Description

RegExp.prototype.global a pour valeur true sur l'indicateur g est utilisé ; sinon, false. L'indicateur g indique que l'expression rationnelle doit être testée sur toutes les correspondances possibles dans une chaîne de caractères. Chaque appel à exec() met à jour sa propriété lastIndex, de sorte que l'appel suivant à exec() commence au caractère suivant.

Certaines méthodes, telles que String.prototype.matchAll() et String.prototype.replaceAll(), vérifient que, si le paramètre est une expression rationnelle, elle est globale. Les méthodes [Symbol.match]() et [Symbol.replace]() de l'expression rationnelle (appelées par String.prototype.match() et String.prototype.replace()) ont également des comportements différents lorsque l'expression rationnelle est globale.

L'accesseur en écriture de global est undefined. Vous ne pouvez pas modifier cette propriété directement.

Exemples

Utiliser global

js
const globalRegex = /toto/g;

const chaine = "totoexempletoto";
console.log(chaine.replace(globalRegex, "")); // exemple

const nonGlobalRegex = /toto/;
console.log(chaine.replace(nonGlobalRegex, "")); // exempletoto

Spécifications

Spécification
ECMAScript® 2027 Language Specification
# sec-get-regexp.prototype.global

Compatibilité des navigateurs

Voir aussi