RegExp.prototype.sticky

La propriété sticky (adhérante) permet de déterminer si la recherche s'effectue uniquement à partir de l'indice lastIndex lié à l'expression rationnelle ou non). sticky est une propriété accessible en lecture seule, rattachée à l'instance.

Attributs de RegExp.prototype.sticky
Écrivable Non
Énumérable Non
Configurable Oui

Description

La propriété sticky est un booléen qui vaut true si le marqueur (flag) "y" a été utilisé, false sinon. Ce marqueur indique que les correspondances ne sont recherchées qu'à partir de l'indice lastIndex au niveau de la chaîne de caractères (les correspondances à partir des autres positions ne seront pas trouvées).

La propriété sticky ne peut pas être modifiée directement. Elle est uniquement en lecture seule.

Exemples

Utiliser une expression rationnelle avec le flag sticky

var str = '#toto#';
var regex = /toto/y;

regex.lastIndex = 1;
regex.test(str); // true
regex.lastIndex = 5;
regex.test(str); // false (lastIndex est pris en compte avec sticky)
regex.lastIndex; // 0 (on rénitialise après un échec)

Marqueur d'adhérence « ancré »

Ce comportement a été spécifié avec ES2015 et diffère des implémentations précédentes, présentes pour Firefox. Lorsque le marqueur y est utilisé avec un motif, ^ correspond toujours au début de la saisie ou, si multiline vaut true, au début d'une ligne.

var regex = /^foo/y;
regex.lastIndex = 2; // désactive la correspondance au début
regex.test("..foo"); // false

var regex2 = /^foo/my;
regex2.lastIndex = 2;
regex2.test("..foo"); // false
regex2.lastIndex = 2;
regex2.test(".\nfoo"); // true

Spécifications

Spécification Statut Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'RegExp.prototype.sticky' dans cette spécification.
Standard Définition initiale.
ECMAScript 2016 Draft (7th Edition, ECMA-262)
La définition de 'RegExp.prototype.sticky' dans cette spécification.
Projet  

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Edge Internet Explorer Opera Safari
Support simple Pas de support 3.0 (1.9) (Oui) Pas de support Pas de support Pas de support
Propriété liée au prototype sous forme d'accesseur Pas de support 38 (38) (Oui) Pas de support Pas de support Pas de support
  Pas de support 44 (44) (Oui) Pas de support Pas de support Pas de support
Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple Pas de support Pas de support 1.0 (1.9) Pas de support Pas de support Pas de support
Propriété liée au prototype sous forme d'accesseur Pas de support Pas de support 38.0 (38) Pas de support Pas de support Pas de support
  Pas de support Pas de support 44.0 (44) Pas de support Pas de support Pas de support

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, Goofy
 Dernière mise à jour par : SphinxKnight,