From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../global_objects/regexp/sticky/index.md | 89 +++++++++------------- 1 file changed, 35 insertions(+), 54 deletions(-) (limited to 'files/fr/web/javascript/reference/global_objects/regexp/sticky') diff --git a/files/fr/web/javascript/reference/global_objects/regexp/sticky/index.md b/files/fr/web/javascript/reference/global_objects/regexp/sticky/index.md index ab261c0d51..eb5c5a2b52 100644 --- a/files/fr/web/javascript/reference/global_objects/regexp/sticky/index.md +++ b/files/fr/web/javascript/reference/global_objects/regexp/sticky/index.md @@ -12,27 +12,24 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/sticky original_slug: Web/JavaScript/Reference/Objets_globaux/RegExp/sticky --- -
{{JSRef}}
+{{JSRef}} -

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

+La propriété **`sticky`** (adhérante) permet de déterminer si la recherche s'effectue uniquement à partir de l'indice {{jsxref("RegExp.lastIndex", "lastIndex")}} lié à l'expression rationnelle ou non). `sticky` est une propriété accessible en lecture seule, rattachée à l'instance. -
{{EmbedInteractiveExample("pages/js/regexp-prototype-sticky.html")}}
+{{EmbedInteractiveExample("pages/js/regexp-prototype-sticky.html")}}{{js_property_attributes(0,0,1)}} +## 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 {{jsxref("RegExp.lastIndex", "lastIndex")}} 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 marqueur `sticky` **et** le marqueur `global` ignorera le marqueur `global`. -
{{js_property_attributes(0,0,1)}}
+La propriété `sticky` ne peut pas être modifiée directement. Elle est uniquement en lecture seule. -

Description

+## Exemples -

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 {{jsxref("RegExp.lastIndex", "lastIndex")}} 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 marqueur sticky et le marqueur global ignorera le marqueur global.

+### Utiliser une expression rationnelle avec le _flag_ _sticky_ -

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#';
+```js
+var str = '#toto#';
 var regex = /toto/y;
 
 regex.lastIndex = 1;
@@ -40,13 +37,14 @@ 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é »

+### 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 marqueur y est utilisé avec un motif commençant par ^, ce dernier doit correspondre au début de la chaine (ou, si multiline vaut true, au début de la ligne). Les exemples qui suivent illustrent le comportement correct :

+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 marqueur `y` est utilisé avec un motif commençant par `^`, ce dernier doit correspondre au début de la chaine (ou, si `multiline` vaut `true`, au début de la ligne). Les exemples qui suivent illustrent le comportement correct : -
var regex = /^foo/y;
+```js
+var regex = /^foo/y;
 regex.lastIndex = 2; // désactive la correspondance au début
 regex.test("..foo"); // false
 
@@ -55,40 +53,23 @@ regex2.lastIndex = 2;
 regex2.test("..foo"); // false
 regex2.lastIndex = 2;
 regex2.test(".\nfoo"); // true
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationEtatCommentaires
{{SpecName('ES2015', '#sec-get-regexp.prototype.sticky', 'RegExp.prototype.sticky')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-get-regexp.prototype.sticky', 'RegExp.prototype.sticky')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.RegExp.sticky")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | Etat | Commentaires | +| -------------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-get-regexp.prototype.sticky', 'RegExp.prototype.sticky')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-get-regexp.prototype.sticky', 'RegExp.prototype.sticky')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.RegExp.sticky")}} + +## Voir aussi + +- {{jsxref("RegExp.prototype.global")}} +- {{jsxref("RegExp.prototype.ignoreCase")}} +- {{jsxref("RegExp.prototype.lastIndex")}} +- {{jsxref("RegExp.prototype.multiline")}} +- {{jsxref("RegExp.prototype.source")}} -- cgit v1.2.3-54-g00ecf