Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Objets natifs standards
  5. RegExp
  6. RegExp.prototype.sticky

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 EnglishAlways switch to English

RegExp.prototype.sticky

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨septembre 2016⁩.

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

Exemple interactif

const str1 = "table football";const regex1 = new RegExp("foo", "y");regex1.lastIndex = 6;console.log(regex1.sticky);// Expected output: trueconsole.log(regex1.test(str1));// Expected output: trueconsole.log(regex1.test(str1));// Expected output: false
Attributs deRegExp.prototype.sticky
ÉcrivableNon
ÉnumérableNon
ConfigurableOui

Description

La propriétésticky est un booléen qui vauttrue si le marqueur (flag) "y" a été utilisé,false sinon. Ce marqueur indique que les correspondances ne sont recherchées qu'à partir de l'indicelastIndex au niveau de la chaîne de caractères (les correspondances à partir des autres positions ne seront pas trouvées). Lorsqu'une expression rationnelle qui utilise le marqueurstickyet le marqueurglobal ignorera le marqueurglobal.

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

Exemples

Utiliser une expression rationnelle avec leflagsticky

js
var str = "#toto#";var regex = /toto/y;regex.lastIndex = 1;regex.test(str); // trueregex.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é »

Pendant plusieurs versions, le moteur JavaScript de Firefox, SpiderMonkey, avait un bug qui entraînait des correspondances invalides lorsqu'étaient utilisés le marqueur d'adhérence et le symbole^ dans l'expression rationnelle. Ce bug est apparu peu après Firefox 3.6. Afin d'éviter ce bug, la spécification ES2015 indique spécifiquement que, lorsque le marqueury est utilisé avec un motif commençant par^, ce dernier doit correspondre au début de la chaine (ou, simultiline vauttrue, au début de la ligne). Les exemples qui suivent illustrent le comportement correct :

js
var regex = /^foo/y;regex.lastIndex = 2; // désactive la correspondance au débutregex.test("..foo"); // falsevar regex2 = /^foo/my;regex2.lastIndex = 2;regex2.test("..foo"); // falseregex2.lastIndex = 2;regex2.test(".\nfoo"); // true

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-get-regexp.prototype.sticky

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp