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 |