diff options
author | Florian Merz <me@fiji-flo.de> | 2021-02-11 12:36:08 +0100 |
---|---|---|
committer | Florian Merz <me@fiji-flo.de> | 2021-02-11 12:36:08 +0100 |
commit | 39f2114f9797eb51994966c6bb8ff1814c9a4da8 (patch) | |
tree | 66dbd9c921f56e440f8816ed29ac23682a1ac4ef /files/fr/web/javascript/reference/objets_globaux/regexp | |
parent | 8260a606c143e6b55a467edf017a56bdcd6cba7e (diff) | |
download | translated-content-39f2114f9797eb51994966c6bb8ff1814c9a4da8.tar.gz translated-content-39f2114f9797eb51994966c6bb8ff1814c9a4da8.tar.bz2 translated-content-39f2114f9797eb51994966c6bb8ff1814c9a4da8.zip |
unslug fr: move
Diffstat (limited to 'files/fr/web/javascript/reference/objets_globaux/regexp')
28 files changed, 0 insertions, 2703 deletions
diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/@@match/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/@@match/index.html deleted file mode 100644 index 7adea1beff..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/@@match/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: 'RegExp.prototype[@@match]()' -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/@@match -tags: - - Expressions rationnelles - - JavaScript - - Méthode - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@match ---- -<div>{{JSRef}}</div> - -<p>La méthode <strong><code>[@@match]()</code></strong> permet de récupérer les correspondances obtenues lorsqu'on teste une chaîne de caractères par rapport à une expression rationnelle (<em>regexp</em>).</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-@@match.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>regexp</var>[Symbol.match](str)</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>str</code></dt> - <dd>La chaîne de caractères ({{jsxref("String")}}) sur laquelle on veut chercher des correspondances.</dd> -</dl> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>Un tableau ({{jsxref("Array")}}) qui contient les résultats des correspondances et les groupes capturés grâce aux parenthèse. S'il n'y a aucune correspondance, ce sera {{jsxref("null")}}.</p> - -<h2 id="Description">Description</h2> - -<p>Cette méthode est appelée de façon interne lorsqu'on utilise {{jsxref("String.prototype.match()")}}. Ainsi, les deux exemples qui suivent sont équivalents et le second est la version interne du premier :</p> - -<pre class="brush: js">'abc'.match(/a/); - -/a/[Symbol.match]('abc');</pre> - -<p>Cette méthode existe afin de permettre d'adapter le comportement de la recherche des correspondances pour les sous-classes de <code>RegExp</code>.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Appel_direct">Appel direct</h3> - -<p>Cette méthode peut être utilisée comme {{jsxref("String.prototype.match()")}} mais avec un objet <code>this</code> différent et un ordre des paramètres également différent.</p> - -<pre class="brush: js">var re = /[0-9]+/g; -var str = '2016-01-02'; -var résultat = re[Symbol.match](str); -console.log(résultat); // ["2016", "01", "02"] -</pre> - -<h3 id="Utilisation_de_match_avec_une_sous-classe">Utilisation de <code>@@match</code> avec une sous-classe</h3> - -<p>Les sous-classes de {{jsxref("RegExp")}} peuvent surcharger la méthode <code>[@@match]()</code> afin de modifier le comportement.</p> - -<pre class="brush: js">class MaRegExp extends RegExp { - [Symbol.match](str) { - var résultat = RegExp.prototype[Symbol.match].call(this, str); - if (!résultat) return null; - return { - group(n) { - return résultat[n]; - } - }; - } -} - -var re = new MaRegExp('([0-9]+)-([0-9]+)-([0-9]+)'); -var str = '2016-01-02'; -var résultat = str.match(re); // String.prototype.match appelle re[@@match]. -console.log(résultat.group(1)); // 2016 -console.log(résultat.group(2)); // 01 -console.log(résultat.group(3)); // 02 -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp.prototype-@@match', 'RegExp.prototype[@@match]')}}</td> - <td>{{Spec2('ES6')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp.prototype-@@match', 'RegExp.prototype[@@match]')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.@@match")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("String.prototype.match()")}}</li> - <li>{{jsxref("RegExp.prototype.@@replace()", "RegExp.prototype[@@replace]()")}}</li> - <li>{{jsxref("RegExp.prototype.@@search()", "RegExp.prototype[@@search]()")}}</li> - <li>{{jsxref("RegExp.prototype.@@split()", "RegExp.prototype[@@split]()")}}</li> - <li>{{jsxref("RegExp.prototype.exec()")}}</li> - <li>{{jsxref("RegExp.prototype.test()")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/@@matchall/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/@@matchall/index.html deleted file mode 100644 index 82fcef5aa6..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/@@matchall/index.html +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: 'RegExp.prototype[@@matchAll]()' -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/@@matchAll -tags: - - JavaScript - - Méthode - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@matchAll ---- -<p>{{JSRef}}</p> - -<p>La méthode <strong><code>[@@matchAll]</code></strong> renvoie l'ensemble des correspondances d'une expression rationnelle sur une chaîne de caractères.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-@@matchall.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>regexp</var>[Symbol.matchAll](<var>str</var>)</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>str</code></dt> - <dd>Une chaîne de caractères ({{jsxref("String")}}) dont on souhaite trouver les correspondances.</dd> -</dl> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>Un <a href="/fr/docs/Web/JavaScript/Guide/iterateurs_et_generateurs">itérateur</a>.</p> - -<h2 id="Description">Description</h2> - -<p>Cette méthode est appelée, en interne, par le moteur JavaScript, pendant l'exécution {{jsxref("String.prototype.matchAll()")}}. Les deux lignes qui suivent renverront donc le même résultat.</p> - -<pre class="brush: js">'abc'.matchAll(/a/); - -/a/[Symbol.matchAll]('abc');</pre> - -<p>Cette méthode existe afin de personnaliser le comportement des correspondances pour les sous-classes de <code>RegExp</code>.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Appel_direct">Appel direct</h3> - -<p>Cette méthode peut être utilisée de façon semblable à {{jsxref("String.prototype.matchAll()")}} mais l'objet <code>this</code> et l'ordre des arguments seront différents.</p> - -<pre class="brush: js">var re = /[0-9]+/g; -var str = '2016-01-02'; -var resultat = re[Symbol.matchAll](str); - -console.log(<span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="cm-variable">Array</span>.<span class="cm-property">from</span>(<span class="cm-variable">result</span>at, <span class="cm-def">x</span> <span class="cm-operator">=></span> <span class="cm-variable-2">x</span>[<span class="cm-number">0</span>])</span></span></span>); -// ["2016", "01", "02"] -</pre> - -<h3 id="Utiliser_matchAll_dans_une_sous-classe">Utiliser <code>@@matchAll</code> dans une sous-classe</h3> - -<p>Les sous-classes de {{jsxref("RegExp")}} peuvent surcharger la méthode <code>[@@matchAll]()</code> afin de modifier le comportement par défaut (par exemple pour renvoyer un tableau ({{jsxref("Array")}}) plutôt qu'un <a href="/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators">itérateur</a>).</p> - -<pre class="brush: js">class MaRegExp extends RegExp { - [Symbol.matchAll](str) { - var resultat = RegExp.prototype[Symbol.matchAll].call(this, str); - if (!resultat) { - return null; - } else { - return Array.from(resultat); - } - } -} - -var re = new MaRegExp('([0-9]+)-([0-9]+)-([0-9]+)', 'g'); -var str = '2016-01-02|2019-03-07'; -var resultat = str.matchAll(re); -console.log(resultat[0]); // [ "2016-01-02", "2016", "01", "02" ] -console.log(resultat[1]); // [ "2019-03-07", "2019", "03", "07" ] -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp-prototype-matchall', 'RegExp.prototype[@@matchAll]')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div> - -<p>{{Compat("javascript.builtins.RegExp.@@matchAll")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{JSxRef("String.prototype.matchAll()")}}</li> - <li>{{JSxRef("Symbol.matchAll")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/@@replace/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/@@replace/index.html deleted file mode 100644 index 8d2f44115e..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/@@replace/index.html +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: 'RegExp.prototype[@@replace]()' -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/@@replace -tags: - - JavaScript - - Méthode - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@replace ---- -<div>{{JSRef}}</div> - -<p>La méthode <strong><code>[@@replace]()</code></strong> remplace toutes ou certaines correspondances d'un motif <code>this</code> dans une chaîne de caractère avec un outil de remplacement. La valeur renvoyée est la nouvelle chaîne ainsi créée. Cet outil de remplacement peut être une chaîne de caractère ou une fonction appelée pour chacune des correspondances.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-@@replace.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>regexp</var>[Symbol.replace](str, <var>newSubStr</var>|<var>function</var>)</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>str</code></dt> - <dd>Une chaîne de caractères ({{jsxref("String")}}) pour laquelle on souhaite effectuer des remplacement.</dd> - <dt><code>newSubStr (replacement)</code></dt> - <dd>La chaîne de caractères qui remplace les correspondances trouvées. On peut effectuer le remplacement sur un nombre donné de correspondances (cf. la section {{jsxref("String.prototype.replace", "Utiliser une chaîne de caractères comme paramètre", "#Utiliser_une_chaîne_de_caractère_comme_paramètre", 1)}} de la page {{jsxref("String.prototype.replace()")}}).</dd> - <dt><code>function (replacement)</code></dt> - <dd>Une fonction qui est appelée pour créer la sous-chaîne de remplacement. Les arguments fournis à cette fonction sont décrits dans la section {{jsxref("String.prototype.replace", "Utiliser une chaîne de caractères comme paramètre", "#Utiliser_une_chaîne_de_caractère_comme_paramètre", 1)}} de la page {{jsxref("String.prototype.replace()")}}.</dd> -</dl> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>Une nouvelle chaîne de caractères pour laquelle les correspondances (toutes ou une partie) ont été remplacées.</p> - -<h2 id="Description">Description</h2> - -<p>Cette méthode est appelée de façon interne par la méthode {{jsxref("String.prototype.replace()")}} lorsque l'arugment <code>pattern</code> argument est un objet {{jsxref("RegExp")}}. Les deux lignes de code qui suivent sont équivalentes et la seconde est la version interne de la première :</p> - -<pre class="brush: js">'abc'.replace(/a/, 'A'); - -/a/[Symbol.replace]('abc', 'A');</pre> - -<p>Cette méthode existe afin de pouvoir personnaliser le comportement du remplacement pour les classes filles de <code>RegExp</code>.</p> - -<p>Si l'argument décrivant le motif <strong>n'est pas</strong> un objet {{jsxref("RegExp")}}, {{jsxref("String.prototype.replace()")}} n'appellera pas cette méthode et ne créera pas d'objet {{jsxref("RegExp")}}.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Appel_direct">Appel direct</h3> - -<p>Cette méthode peut être utilisée comme {{jsxref("String.prototype.replace()")}}, aux différences près que l'objet <code>this</code> est différent et que l'ordre des arguments change :</p> - -<pre class="brush: js">var re = /-/g; -var str = '2016-01-01'; -var newstr = re[Symbol.replace](str, '.'); -console.log(newstr); // 2016.01.01 -</pre> - -<h3 id="Utiliser_replace_dans_une_sous-classe">Utiliser <code>@@replace</code> dans une sous-classe</h3> - -<p>Les sous-classes de {{jsxref("RegExp")}} peuvent surcharger la méthode <code>[@@replace]()</code> pour modifier le comportement.</p> - -<pre class="brush: js">class MaRegExp extends RegExp { - constructor(pattern, flags, count) { - super(pattern, flags); - this.count = count; - } - [Symbol.replace](str, replacement) { - // Applique @@replace |count| fois. - var result = str; - for (var i = 0; i < this.count; i++) { - result = RegExp.prototype[Symbol.replace].call(this, result, replacement); - } - return result; - } -} - -var re = new MaRegExp('\\d', '', 3); -var str = '01234567'; -var newstr = str.replace(re, '#'); // String.prototype.replace appelle re[@@replace]. -console.log(newstr); // ###34567</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp.prototype-@@replace', 'RegExp.prototype[@@replace]')}}</td> - <td>{{Spec2('ES6')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp.prototype-@@replace', 'RegExp.prototype[@@replace]')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.@@replace")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("String.prototype.replace()")}}</li> - <li>{{jsxref("RegExp.prototype.@@match()", "RegExp.prototype[@@match]()")}}</li> - <li>{{jsxref("RegExp.prototype.@@search()", "RegExp.prototype[@@search]()")}}</li> - <li>{{jsxref("RegExp.prototype.@@split()", "RegExp.prototype[@@split]()")}}</li> - <li>{{jsxref("RegExp.prototype.exec()")}}</li> - <li>{{jsxref("RegExp.prototype.test()")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/@@search/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/@@search/index.html deleted file mode 100644 index f01c42c1d0..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/@@search/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: 'RegExp.prototype[@@search]()' -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/@@search -tags: - - Expressions rationnelles - - JavaScript - - Méthode - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@search ---- -<div>{{JSRef}}</div> - -<p>La méthode <strong><code>[@@search]()</code></strong> recherche une correspondance entre une expression rationnelle décrite par <code>this</code> et une chaîne de caractères donnée.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-@@search.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>regexp</var>[Symbol.search](str)</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>str</code></dt> - <dd>Une chaîne de caractères ({{jsxref("String")}}) sur laquelle on veut rechercher une correspondance.</dd> -</dl> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<dl> - <dt><code>entier</code></dt> - <dd>Si la recherche réussit, <code>[@@search]()</code> renvoie la position de la première correspondance de l'expression rationnelle au sein de la chaîne, sinon elle renvoie <code>-1</code>.</dd> -</dl> - -<h2 id="Description">Description</h2> - -<p>Cette méthode est appelée en interne lors de l'utilisation de {{jsxref("String.prototype.search()")}}. Ainsi, les deux exemples qui suivent sont équivalents et le second est la version interne du premier :</p> - -<pre class="brush: js">'abc'.search(/a/); - -/a/[Symbol.search]('abc');</pre> - -<p>Cette méthode existe afin de pouvoir adapter le comportement de la recherche pour les sous-classes de <code>RegExp</code>.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Appel_direct">Appel direct</h3> - -<p>Cette méthode peut être utilisée comme {{jsxref("String.prototype.search()")}}, elle utilise simplement un objet <code>this</code> différent et un ordre de paramètres différent :</p> - -<pre class="brush: js">var re = /-/g; -var str = '2016-01-02'; -var résultat = re[Symbol.search](str); -console.log(résultat); // 4 -</pre> - -<h3 id="Utiliser_search_avec_une_sous-classe">Utiliser <code>@@search</code> avec une sous-classe</h3> - -<p>Les sous-classes de {{jsxref("RegExp")}} peuvent surcharger <code>[@@search]()</code> afin de modifier le comportement obtenu :</p> - -<pre class="brush: js">class MaRegExp extends RegExp { - constructor(str) { - super(str) - this.pattern = str; - } - [Symbol.search](str) { - return str.indexOf(this.pattern); - } -} - -var re = new MaRegExp('a+b'); -var str = 'ab a+b'; -var résultat = str.search(re); // String.prototype.search appelle re[@@search]. -console.log(résultat); // 3 -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp.prototype-@@search', 'RegExp.prototype[@@search]')}}</td> - <td>{{Spec2('ES6')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp.prototype-@@search', 'RegExp.prototype[@@search]')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.@@search")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("String.prototype.search()")}}</li> - <li>{{jsxref("RegExp.prototype.@@match()", "RegExp.prototype[@@match]()")}}</li> - <li>{{jsxref("RegExp.prototype.@@replace()", "RegExp.prototype[@@replace]()")}}</li> - <li>{{jsxref("RegExp.prototype.@@split()", "RegExp.prototype[@@split]()")}}</li> - <li>{{jsxref("RegExp.prototype.exec()")}}</li> - <li>{{jsxref("RegExp.prototype.test()")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/@@species/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/@@species/index.html deleted file mode 100644 index 00f4bbb507..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/@@species/index.html +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: 'get RegExp[@@species]' -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/@@species -tags: - - Expressions rationnelles - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@species ---- -<div>{{JSRef}}</div> - -<p>La propriété accesseur <code><strong>RegExp[@@species]</strong></code> renvoie le constructeur <code>RegExp</code>.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-getregexp-@@species.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox">RegExp[Symbol.species] -</pre> - -<h2 id="Description">Description</h2> - -<p>L'accesseur <code>species</code> renvoie le constructeur par défaut pour les objets <code>RegExp</code>. Les constructeurs des sous-classes peuvent surcharger ce symbole afin de modifier l'affectation du constructeur.</p> - -<h2 id="Exemples">Exemples</h2> - -<p>La propriété <code>species</code> renvoie le constructeur par défaut, dans le cas des objets <code>RegExp</code>, c'est le constructeur <code>RegExp</code> :</p> - -<pre class="brush: js">RegExp[Symbol.species]; // function RegExp()</pre> - -<p>Pour les objets dérivés (par exemple, une classe <code>MaRegExp</code>), la valeur de <code>species</code> sera le constructeur <code>MaRegExp</code>. Il est possible de surcharger ce comportement afin de renvoyer le constructeur parent <code>RegExp</code> :</p> - -<pre class="brush: js">class MaRegExp extends RegExp { - // On surcharge species pour renvoyer - // le constructeur parent RegExp - static get [Symbol.species]() { return RegExp; } -}</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-get-regexp-@@species', 'get RegExp [ @@species ]')}}</td> - <td>{{Spec2('ES6')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-regexp-@@species', 'get RegExp [ @@species ]')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.@@species")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp")}}</li> - <li>{{jsxref("Symbol.species")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/@@split/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/@@split/index.html deleted file mode 100644 index 0581e2a64d..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/@@split/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: 'RegExp.prototype[@@split]()' -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/@@split -tags: - - Expressions rationnelles - - JavaScript - - Méthode - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@split ---- -<div>{{JSRef}}</div> - -<p>La méthode <strong><code>[@@split]()</code></strong> permet de découper une chaîne de caractères ({{jsxref("String")}}) en un tableau de sous-chaînes.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-@@split.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox notranslate"><var>regexp</var>[Symbol.split](str[, <var>limite</var>])</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>str</code></dt> - <dd>La chaîne de caractères qu'on souhaite découper.</dd> - <dt><code>limite</code></dt> - <dd> - <p>Paramètre optionnel. Un entier indiquant le nombre maximal de sous-chaînes à trouver. La méthode <code>[@@split]()</code> découpe la chaîne pour chaque correspondance de l'expression rationnelle <code>this</code> jusqu'à ce que le nombre d'éléments obtenus atteigne cette limite ou que la chaîne n'ait plus de correspondances.</p> - </dd> -</dl> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>Un tableau ({{jsxref("Array")}}) dont les éléments sont les sous-chaînes de caractères issues de la découpe.</p> - -<h2 id="Description">Description</h2> - -<p>Cette méthode est appelée de façon interne par la méthode {{jsxref("String.prototype.split()")}} lorsque l'argument <code>str</code> est un objet {{jsxref("RegExp")}}. Ainsi, les deux exemples qui suivent sont équivalents et le second est la version interne du premier :</p> - -<pre class="brush: js notranslate">'a-b-c'.split(/-/); - -/-/[Symbol.split]('a-b-c');</pre> - -<p>Cette méthode existe afin de pouvoir adapter le fonctionnement de la découpe pour les sous-classes de <code>RegExp</code>.</p> - -<p>Si le séparateur n'est pas un objet {{jsxref("RegExp")}}, la méthode {{jsxref("String.prototype.split()")}} n'appellera pas cette méthode et ne créera pas d'objet {{jsxref("RegExp")}}.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Appel_direct">Appel direct</h3> - -<p>Cette méthode peut être utilisée comme {{jsxref("String.prototype.split()")}}, l'objet <code>this</code> est différent et l'ordre des arguments également.</p> - -<pre class="brush: js notranslate">var re = /-/g; -var str = '2016-01-02'; -var résultat = re[Symbol.split](str); -console.log(résultat); // ["2016", "01", "02"] -</pre> - -<h3 id="Utiliser_split_avec_une_sous-classe">Utiliser <code>@@split</code> avec une sous-classe</h3> - -<p>Les sous-classes de {{jsxref("RegExp")}} peuvent surcharger <code>[@@split]()</code> afin de modifier le comportement de la découpe :</p> - -<pre class="brush: js notranslate">class MaRegExp extends RegExp { - [Symbol.split](str, limit) { - var résultat = RegExp.prototype[Symbol.split].call(this, str, limit); - return résultat.map(x => "(" + x + ")"); - } -} - -var re = new MaRegExp('-'); -var str = '2016-01-02'; -var résultat = str.split(re); // String.prototype.split appelle re[@@split]. -console.log(résultat); // ["(2016)", "(01)", "(02)"] -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp.prototype-@@split', 'RegExp.prototype[@@split]')}}</td> - <td>{{Spec2('ES6')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp.prototype-@@split', 'RegExp.prototype[@@split]')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.@@split")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("String.prototype.split()")}}</li> - <li>{{jsxref("RegExp.prototype.@@match()", "RegExp.prototype[@@match]()")}}</li> - <li>{{jsxref("RegExp.prototype.@@replace()", "RegExp.prototype[@@replace]()")}}</li> - <li>{{jsxref("RegExp.prototype.@@search()", "RegExp.prototype[@@search]()")}}</li> - <li>{{jsxref("RegExp.prototype.exec()")}}</li> - <li>{{jsxref("RegExp.prototype.test()")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/compile/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/compile/index.html deleted file mode 100644 index 4ce0f1f857..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/compile/index.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: RegExp.prototype.compile() -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/compile -tags: - - Deprecated - - JavaScript - - Méthode - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/compile ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>La méthode dépréciée <code><strong>compile</strong></code><strong><code>()</code></strong> est utilisée afin de (re)compiler une expression rationnelle lors de l'exécution d'un script. Cette méthode effectue essentiellement les mêmes actions que le constructeur <code>RegExp</code>.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><code><var>regexObj</var>.compile(<var>motif, flags</var>)</code></pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>motif</code></dt> - <dd>Le texte de l'expression rationnelle.</dd> - <dt><code>flags</code></dt> - <dd> - <p>S'ils sont utilisés, les drapeaux (<em>flags</em>) peuvent être combinés avec les valeurs suivantes :</p> - - <dl> - <dt><code>g</code></dt> - <dd>correspondance globale</dd> - <dt><code>i</code></dt> - <dd>ignorer la casse</dd> - <dt><code>m</code></dt> - <dd>multiligne : on traite les caractères de début et de fin (^ et $) de façon à travailler sur plusieurs lignes (ils correspondent au début et à la fin de chaque ligne et non au début ou à la fin de la chaîne entière)</dd> - <dt><code>y</code></dt> - <dd>adhérence : ne recherche les correspondances qu'à partir de l'indice fourni par la propriété <code>lastIndex</code> de l'expression rationnelle dans la chaîne cible (la recherche n'est pas effectuée pour les indices suivants).</dd> - </dl> - </dd> -</dl> - -<h2 id="Description">Description</h2> - -<p>La méthode <code>compile</code> est dépréciée. Pour obtenir le même effet, on utilisera le constructeur <code>RegExp</code>.</p> - -<h2 id="Exemples">Exemples</h2> - -<p>Dans l'exemple qui suit, on voit comment réinitialiser le motif et les drapeaux d'une expression rationnelle grâce à la méthode <code>compile()</code>.</p> - -<pre class="brush: js">var regexObj = new RegExp("toto", "gi"); -regexObj.compile("nouveau toto", "g"); -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp.prototype.compile', 'RegExp.prototype.compile')}}</td> - <td>{{Spec2('ES6')}}</td> - <td>Définition initiale dans l'annexe B (normative) pour les fonctionnalités ECMAScript additionnelles pour les navigateurs web.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp.prototype.compile', 'RegExp.prototype.compile')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td>Définition initiale dans l'annexe B (normative) pour les fonctionnalités ECMAScript additionnelles pour les navigateurs web.</td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.compile")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/dotall/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/dotall/index.html deleted file mode 100644 index 37335fe2c0..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/dotall/index.html +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: RegExp.prototype.dotAll -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/dotAll -tags: - - Draft - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/dotAll ---- -<p>{{JSRef}}{{Draft}}</p> - -<p>La propriété <strong><code>dotAll</code></strong> indique si le marqueur "<code>s</code>" est utilisé pour l'expression rationnelle. <code>dotAll</code> est une propriété en lecture seule et qui renseigne à propos de l'expression rationnelle courante.</p> - -<p>{{JS_Property_Attributes(0, 0, 1)}}</p> - -<h2 id="Description">Description</h2> - -<p><code>dotAll</code> est un booléen qui vaut <code>true</code> si le marqueur "<code>s</code>" a été utilisé pour l'expression et <code>false</code> sinon. Le marqueur "<code>s</code>" indique que le caractère spécial point ("<code>.</code>") doit également correspondre aux caractères de saut de ligne (et pour lesquels il ne correspondrait pas s'il n'était pas activé) :</p> - -<ul> - <li>U+000A LINE FEED (LF) ("<code>\n</code>")</li> - <li>U+000D CARRIAGE RETURN (CR) ("<code>\r</code>")</li> - <li>U+2028 LINE SEPARATOR</li> - <li>U+2029 PARAGRAPH SEPARATOR</li> -</ul> - -<p>Cela signifie ainsi que le point peut correspondre à n'importe quel caractère du plan multilingue de base Unicode (ou <em>Basic Multilingual Plane</em> (BMP)). Si on souhaite également cibler les caractères des plans astraux, il faudra utiliser le marqueur "<code>u</code>" (unicode). En utilisant les deux marqueurs simultanément, on peut alors cibler n'importe quel caractère Unicode.</p> - -<p>Cette propriété est uniquement accessible en lecture et ne peut pas être modifiée.</p> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div> - -<p>{{Compat("javascript.builtins.RegExp.dotAll")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{JSxRef("RegExp.lastIndex")}}</li> - <li>{{JSxRef("RegExp.prototype.global")}}</li> - <li>{{JSxRef("RegExp.prototype.ignoreCase")}}</li> - <li>{{JSxRef("RegExp.prototype.multiline")}}</li> - <li>{{JSxRef("RegExp.prototype.source")}}</li> - <li>{{JSxRef("RegExp.prototype.sticky")}}</li> - <li>{{JSxRef("RegExp.prototype.unicode")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/exec/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/exec/index.html deleted file mode 100644 index 6db78d71f3..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/exec/index.html +++ /dev/null @@ -1,200 +0,0 @@ ---- -title: RegExp.prototype.exec() -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/exec -tags: - - JavaScript - - Méthode - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/exec ---- -<div>{{JSRef}}</div> - -<p>La méthode <strong><code>exec()</code></strong> exécute la recherche d'une correspondance sur une chaîne de caractères donnée. Elle renvoie un tableau contenant les résultats ou {{jsxref("null")}}.</p> - -<p>Si on souhaite uniquement savoir s'il y a une correspondance, on utilisera la méthode {{jsxref("RegExp.prototype.test()")}} ou la méthode {{jsxref("String.prototype.search()")}}.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-exec.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<p>Les objets représentant des expressions rationnelles gardent un état en mémoire lorsqu'ils utilisent les marqueurs {{jsxref("RegExp.global", "global")}} ou {{jsxref("RegExp.sticky", "sticky")}} et ils gardent notamment en mémoire {{jsxref("RegExp.lastIndex", "lastIndex")}} à partir de la correspondance précédemment trouvée. Ainsi, <code>exec()</code> peut être utilisée afin de parcourir plusieurs correspondances dans un texte (avec des groupes capturants) (contrairement à {{jsxref("String.prototype.match()")}}).</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>regexObj</var>.exec(<var>chaîne</var>)</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>chaîne</code></dt> - <dd>La chaîne de caractères dans laquelle on recherche la correspondance décrite par l'expression rationnelle.</dd> -</dl> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>S'il y a une correspondance, la méthode <code>exec()</code> renvoie un tableau (contenant des éléments et deux propriétés <code>index</code> et <code>values</code>, cf. ci-après) et met à jour les propriétés de l'objet représentant l'expression rationnelle (notamment {{jsxref("RegExp.lastIndex", "lastIndex")}}). Le tableau renvoyé contient le texte qui correspond dans le premier élément puis un élément pour chaque groupe capturé dans les parenthèses capturantes.</p> - -<p>S'il n'y a aucune correspondance, la méthode <code>exec()</code> renvoie {{jsxref("null")}} et la propriété {{jsxref("RegExp.lastIndex", "lastIndex")}} reçoit la valeur 0.</p> - -<h2 id="Description">Description</h2> - -<p>Si on a l'exemple suivant :</p> - -<pre class="brush: js">// On a une correspondance si on a "quick brown" suivi par "jumps", on ignore les caractères entre -// On garde en mémoire "brown" et "jumps" -// On ignore la casse -var re = /quick\s(brown).+?(jumps)/ig; -var result = re.exec('The Quick Brown Fox Jumps Over The Lazy Dog'); -</pre> - -<p>Le tableau suivant montre l'état résultant suite à ce script :</p> - -<table class="fullwidth-table"> - <tbody> - <tr> - <td class="header">Objet</td> - <td class="header">Propriété/Index</td> - <td class="header">Description</td> - <td class="header">Exemple</td> - </tr> - <tr> - <td rowspan="4"><code>result</code></td> - <td><code>[0]</code></td> - <td>La chaîne complète des caractères qui correspondent.</td> - <td><code>"Quick Brown Fox Jumps"</code></td> - </tr> - <tr> - <td><code>[1], ...[<em>n</em> ]</code></td> - <td>Les sous-chaînes correspondantes aux groupes capturants s'il y en a. Le nombre de groupes de parenthèses capturantes est illimité.</td> - <td><code>result[1] === "Brown"<br> - result[2] === "Jumps"</code></td> - </tr> - <tr> - <td><code>index</code></td> - <td>L'indice (compté à partir de 0) de la correspondance dans la chaîne.</td> - <td><code>4</code></td> - </tr> - <tr> - <td><code>input</code></td> - <td>La chaîne de caractères utilisée en entrée.</td> - <td><code>"The Quick Brown Fox Jumps Over The Lazy Dog"</code></td> - </tr> - <tr> - <td rowspan="5"><code>re</code></td> - <td><code>lastIndex</code></td> - <td>L'indice à partir duquel chercher la prochaine correspondance. Lorsque le drapeau "g" est absent, cette propriété sera 0.</td> - <td><code>25</code></td> - </tr> - <tr> - <td><code>ignoreCase</code></td> - <td>Indique si le drapeau "<code>i</code>" a été utilisé pour ignorer la casse.</td> - <td><code>true</code></td> - </tr> - <tr> - <td><code>global</code></td> - <td>Indique si le drapeau "<code>g</code>" a été utilisé pour la correspondance globale.</td> - <td><code>true</code></td> - </tr> - <tr> - <td><code>multiline</code></td> - <td>Indique si le drapeau "<code>m</code>" a été utilisé pour chercher une correspondance sur plusieurs lignes.</td> - <td><code>false</code></td> - </tr> - <tr> - <td><code>source</code></td> - <td>Le texte du motif.</td> - <td><code>"quick\s(brown).+?(jumps)"</code></td> - </tr> - </tbody> -</table> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Trouver_des_correspondances_successives">Trouver des correspondances successives</h3> - -<p>Si on utilise le drapeau "<code>g</code>" dans l'expression rationnelle, on peut utiliser la méthode <code>exec()</code> plusieurs fois afin de trouver les correspondances successives dans la chaîne. Lorsqu'on procède ainsi, la recherche reprend à la position indiquée par la propriété {{jsxref("RegExp.lastIndex", "lastIndex")}} ({{jsxref("RegExp.prototype.test()", "test()")}} fera également progresser la propriété {{jsxref("RegExp.lastIndex", "lastIndex")}}).</p> - -<p>On notera que la propriété {{jsxref("RegExp.lastIndex", "lastIndex")}} ne sera pas réinitialisée lors de la recherche sur une autre chaîne de caractères, c'est la valeur existante de {{jsxref("RegExp.lastIndex", "lastIndex")}} qui sera utilisée.</p> - -<p>Par exemple, si on utilise le fragment de code suivant :</p> - -<pre class="brush: js">var maRegex = /ab*/g; -var str = 'abbcdefabh'; -var monTableau; -while ((monTableau = maRegex.exec(str)) !== null) { - var msg = 'Trouvé ' + monTableau[0] + '. '; - msg += 'Prochaine correspondance à partir de ' + maRegex.lastIndex; - console.log(msg); -} -</pre> - -<p>Le script affichera alors :</p> - -<pre>Trouvé abb. Prochaine correspondance à partir de 3 -Trouvé ab. Prochaine correspondance à partir de 9 -</pre> - -<div class="warning"> -<p><strong>Attention</strong> à ne pas placer un littéral d'expression rationnelle (ou le constructeur {{jsxref("RegExp")}}) au sein de la condition <code>while</code> car cela créerait un boucle infinie s'il y a une correspondance car la propriété {{jsxref("RegExp.lastIndex", "lastIndex")}} serait redéfinie à chaque itération. Il faut également s'assurer que le drapeau global est défini sinon on aura également une boucle.</p> -</div> - -<h3 id="Utiliser_exec()_avec_des_littéraux">Utiliser <code>exec()</code> avec des littéraux</h3> - -<p>Il est aussi possible d'utiliser <code>exec()</code> sans créer d'objet {{jsxref("RegExp")}} explicite :</p> - -<pre class="brush: js">var matches = /(coucou \S+)/.exec('Ceci est un coucou monde !'); -console.log(matches[1]); -</pre> - -<p>Cela affichera 'coucou monde !'.</p> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.2.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.10.6.21', 'RegExp.exec')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp.prototype.exec', 'RegExp.exec')}}</td> - <td>{{Spec2('ES6')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp.prototype.exec', 'RegExp.exec')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.exec")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>Le chapitre sur <a href="/fr/docs/Web/JavaScript/Guide/Expressions_régulières">les expressions rationnelles</a> du <a href="/fr/docs/Web/JavaScript/Guide">Guide JavaScript</a></li> - <li>{{jsxref("RegExp")}}</li> - <li>{{jsxref("String.prototype.match()")}}</li> - <li>{{jsxref("String.prototype.matchAll()")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/flags/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/flags/index.html deleted file mode 100644 index c110c30d38..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/flags/index.html +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: RegExp.prototype.flags -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/flags -tags: - - ECMAScript 2015 - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp - - polyfill -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/flags ---- -<div>{{JSRef}}</div> - -<p>La propriété <strong><code>flags</code></strong> renvoie une chaîne de caractères contenant les <a href="/fr/docs/Web/JavaScript/Guide/Expressions_régulières#Effectuer_des_recherches_avanc.C3.A9es_en_utilisant_les_drapeaux_(flags)">drapeaux (<em>flags</em>)</a> de l'objet {{jsxref("RegExp")}} auquel elle appartient.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-flags.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<div>{{js_property_attributes(0, 0, 1)}}</div> - -<h2 id="Description">Description</h2> - -<p>Les drapeaux de la propriété <code>flags</code> sont rangés par ordre alphabétique de gauche à droite.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Utiliser_flags">Utiliser <code>flags</code></h3> - -<pre class="brush: js">/toto/ig.flags; // "gi" -/truc/myu.flags; // "muy" -</pre> - -<h2 id="Prothèse_d'émulation_(polyfill)">Prothèse d'émulation (<em>polyfill</em>)</h2> - -<pre class="brush: js">if (RegExp.prototype.flags === undefined) { - Object.defineProperty(RegExp.prototype, 'flags', { - configurable: true, - get: function() { - return this.toString().match(/[gimuy]*$/)[0]; - } - }); -} -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-get-regexp.prototype.flags', 'RegExp.prototype.flags')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-regexp.prototype.flags', 'RegExp.prototype.flags')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.flags")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp.prototype.source")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/global/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/global/index.html deleted file mode 100644 index 3c9666e0bf..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/global/index.html +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: RegExp.prototype.global -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/global -tags: - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/global ---- -<div>{{JSRef}}</div> - -<p>La propriété <code><strong>global</strong></code> indique si le marqueur (<em>flag</em>) "<code>g</code>" est utilisé pour l'expression rationnelle. <code>global</code> est une propriété accessible en lecture seule pour une expression rationnelle donnée.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-global.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<div>{{js_property_attributes(0,0,1)}}</div> - -<h2 id="Description">Description</h2> - -<p>La valeur de <code>global</code> est un booléen. Elle vaut <code>true</code> si le flag "<code>g</code>" a été utilisé, <code>false</code> sinon. Le <em>flag</em> "<code>g</code>" indique que l'expression rationnelle recherchera toutes les correspondances possibles d'une chaîne de caractères. Lorsqu'une expression rationnelle utilise à la fois les marqueurs <code>global</code> et <code>sticky</code> (respectivement <code>"g"</code> et <code>"y"</code>), elle ignorera le marqueur <code>global</code>.</p> - -<p>Cette propriété ne peut pas être modifiée directement.</p> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush:js">var regex = new RegExp("toto", "g"); - -console.log(regex.global); // true - -var str = 'totoexempletoto'; -var str1 = str.replace(regex, ''); - -console.log(str1); // affichera "exemple" dans la console - -var regex1 = new RegExp('toto'); -var str2 = str.replace(regex1, ''); - -console.log(str2); // affichera "exempletoto" dans la console</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.2. Avec JavaScript 1.5 : <code>global</code> est une propriété d'une instance de {{jsxref("RegExp")}} et non une propriété de l'objet <code>RegExp</code>.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.10.7.2', 'RegExp.prototype.global')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-get-regexp.prototype.global', 'RegExp.prototype.global')}}</td> - <td>{{Spec2('ES6')}}</td> - <td><code>global</code> est désormais un accesseur lié au prototype plutôt qu'une propriété de données liée à l'instance.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-regexp.prototype.global', 'RegExp.prototype.global')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.global")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp.prototype.ignoreCase")}}</li> - <li>{{jsxref("RegExp.prototype.lastIndex")}}</li> - <li>{{jsxref("RegExp.prototype.multiline")}}</li> - <li>{{jsxref("RegExp.prototype.source")}}</li> - <li>{{jsxref("RegExp.prototype.sticky")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/ignorecase/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/ignorecase/index.html deleted file mode 100644 index dfdf02cbad..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/ignorecase/index.html +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: RegExp.prototype.ignoreCase -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/ignoreCase -tags: - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase ---- -<div>{{JSRef}}</div> - -<p>La propriété <code><strong>ignoreCase</strong></code> indique si le drapeau (<em>flag</em>) "<code>i</code>" est utilisé ou non pour cette expression rationnelle. <code>ignoreCase</code> est une propriété accessible en lecture seule d'une instance d'expression rationnelle donnée.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-ignorecase.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<div>{{js_property_attributes(0,0,1)}}</div> - -<h2 id="Description">Description</h2> - -<p>La valeur de <code>ignoreCase</code> est un booléen. Elle vaut <code>true</code> si le flag "<code>i</code>" a été utilisé et <code>false</code> sinon. Le drapeau "<code>i</code>" indique si la recherche de correspondances doit être sensible à la casse ou non.</p> - -<p>Cette propriété ne peut pas être modifiée directement.</p> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush:js">var regex = new RegExp("toto", "i"); - -console.log(regex.ignoreCase); // true -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.2. Avec JavaScript 1.5 : <code>ignoreCase</code> est une propriété d'une instance de {{jsxref("RegExp")}} et pas une propriété de l'objet <code>RegExp</code>.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.10.7.3', 'RegExp.prototype.ignoreCase')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-get-regexp.prototype.ignorecase', 'RegExp.prototype.ignoreCase')}}</td> - <td>{{Spec2('ES6')}}</td> - <td><code>ignoreCase</code> est désormais une propriété du prototype sous forme d'accesseur plutôt qu'une propriété directe de l'instance.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-regexp.prototype.ignorecase', 'RegExp.prototype.ignoreCase')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - - - -<p>{{Compat("javascript.builtins.RegExp.ignoreCase")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp.prototype.global")}}</li> - <li>{{jsxref("RegExp.prototype.lastIndex")}}</li> - <li>{{jsxref("RegExp.prototype.multiline")}}</li> - <li>{{jsxref("RegExp.prototype.source")}}</li> - <li>{{jsxref("RegExp.prototype.sticky")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/index.html deleted file mode 100644 index 7ac6296f1f..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/index.html +++ /dev/null @@ -1,243 +0,0 @@ ---- -title: RegExp -slug: Web/JavaScript/Reference/Objets_globaux/RegExp -tags: - - Constructeur - - Expressions rationnelles - - JavaScript - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp ---- -<div>{{JSRef}}</div> - -<p>Le constructeur <strong>RegExp</strong> crée un objet expression rationnelle pour la reconnaissance d'un modèle dans un texte.</p> - -<p>Pour une introduction aux expressions rationnelles, lire le <a href="/fr/docs/Web/JavaScript/Guide/Expressions_r%C3%A9guli%C3%A8res">chapitre Expressions rationnelles dans le Guide JavaScript</a>.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-constructor.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<p>Les notations littérales, par constructeur ou de base sont possibles :</p> - -<pre class="syntaxbox">/<em>modèle</em>/<var>marqueurs</var> -new RegExp(<var>modèle</var>[, <em>marqueurs</em>]) -RegExp(<var>modèle</var>[, <em>marqueurs</em>]) -</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>modèle</code></dt> - <dd>Le texte de l'expression rationnelle ou, à partir d'ES5, un autre objet ou littéral <code>RegExp</code> à copier. Ce motif peut inclure <a href="/fr/docs/Web/JavaScript/Guide/Expressions_régulières#Types_de_caractères_spéciaux">certains caractères spéciaux</a> pour correspondre à un ensemble de valeurs plus large (qu'une simple chaîne littérale).</dd> - <dt><code>marqueurs</code></dt> - <dd> - <p>Si cet argument est utilisé, il indique les marqueurs à utiliser pour l'expression rationnelle. Ces valeurs remplaceront celles de l'objet à copier si <code>modèle</code> est un objet <code>RegExp</code> (<code>lastIndex</code> sera réinitialisé à 0 à partir d'ECMAScript 2015 / ES6). Cet argument est une chaîne de caractères qui peut contenir une combinaison des valeurs suivantes:</p> - - <dl> - <dt><code>g</code></dt> - <dd>recherche globale ; retrouve toutes les correspondances plutôt que de s'arrêter après la première.</dd> - <dt><code>i</code></dt> - <dd>la casse est ignorée. Si le marqueur <code>u</code> est également activé, les caractères Unicode équivalents pour la casse correspondent.</dd> - <dt><code>m</code></dt> - <dd>multiligne : les caractères de début et de fin (^ et $) sont traités comme travaillant sur des lignes multiples (i.e, ils correspondent au début et à la fin de <em>chaque</em> ligne (délimitée par \n ou \r), pas seulement au début ou à la fin de la chaîne d'entrée complète).</dd> - <dt><code>u</code></dt> - <dd>unicode : traite le modèle comme une séquence de points de code Unicode (voir également <a href="/fr/docs/Web/API/DOMString/Binary">les chaînes binaires</a>).</dd> - <dt><code>y</code></dt> - <dd>adhérence : n'établit de correspondance qu'à partir de l'indice dans la chaîne cible indiqué par la propriété <code>lastIndex</code> de l'expression rationnelle (et ne cherche pas à établir de correspondance à partir d'indices au delà).</dd> - <dt><code>s</code></dt> - <dd>"dotAll" : permet d'indiquer que <code>.</code> peut correspondre à un saut de ligne.</dd> - </dl> - </dd> -</dl> - -<h2 id="Description">Description</h2> - -<p>Il existe deux façons de créer un objet <code>RegExp</code> : une notation littérale ou un constructeur. La notation littérale est délimitée par des barres obliques (<em>slashes</em>) tandis que le constructeur utilise des apostrophes. Ainsi, les expressions suivantes créent la même expression rationnelle :</p> - -<pre class="brush: js">/ab+c/i; // notation littérale -new RegExp('ab+c', 'i'); // constructeur -new RegExp(/ab+c/, 'i'); // notation littérale dans un constructeur -</pre> - -<p>La notation littérale effectue la compilation de l'expression rationnelle lorsque l'expression est évaluée. Utilisez la notation littérale lorsque l'expression rationnelle reste constante. Par exemple, si vous utilisez la notation littérale pour construire une expression rationnelle utilisée dans une boucle, l'expression rationnelle ne sera pas recompilée à chaque itération.</p> - -<p>Le constructeur de l'objet expression rationnelle, par exemple <code>new RegExp('ab+c')</code>, effectue la compilation de l'expression rationnelle au moment de l'exécution. Utilisez la fonction constructeur quand vous savez que le modèle d'une expression rationnelle sera variable, ou si vous ne connaissez pas le modèle et que vous l'obtiendrez d'une autre source, telle qu'une saisie utilisateur.</p> - -<p>À partir d'ECMAScript 6, <code>new RegExp(/ab+c/, 'i')</code> ne déclenche plus d'exception {{jsxref("TypeError")}} ("can't supply flags when constructing one RegExp from another") lorsque le premier argument est une RegExp et que le second argument <code>marqueurs</code> est présent. Une nouvelle <code>RegExp</code> sera créée à la place à partir des arguments.</p> - -<p>Lorsqu'on utilise le constructeur, les règles normales d'échappement de chaîne (le fait de faire précéder d'un \ les caractères spéciaux à l'intérieur d'une chaîne) sont requises. Par exemple, les définitions suivantes sont équivalentes :</p> - -<pre class="brush: js">var re = /\w+/; -var re = new RegExp('\\w+'); -</pre> - -<h2 id="Propriétés">Propriétés</h2> - -<dl> - <dt>{{jsxref("RegExp.prototype")}}</dt> - <dd>Cette propriété permet d'ajouter des propriétés à tous les objets qui sont des expressions rationnelles.</dd> - <dt><code>RegExp.length</code></dt> - <dd>La valeur de longueur pour le constructeur dont la valeur est 2.</dd> - <dt>{{jsxref("RegExp.@@species", "get RegExp[@@species]")}}</dt> - <dd>La fonction de construction utilisée pour créer les objets dérivés.</dd> - <dt>{{jsxref("RegExp.lastIndex")}}</dt> - <dd>L'indice à partir duquel rechercher la prochaine correspondance.</dd> -</dl> - -<h2 id="Méthodes">Méthodes</h2> - -<p>L'objet global <code>RegExp</code> ne possède pas de méthode propre. En revanche, il hérite de certaines méthodes via sa chaîne de prototypes.</p> - -<h2 id="Le_prototype_de_RegExp_et_les_instances">Le prototype de <code>RegExp</code> et les instances</h2> - -<h3 id="Propriétés_2">Propriétés</h3> - -<div>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/RegExp/prototype', 'Propriétés')}}</div> - -<h3 id="Méthodes_2">Méthodes</h3> - -<div>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/RegExp/prototype', 'Méthodes')}}</div> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Utiliser_une_expression_rationnelle_pour_modifier_un_format_de_données">Utiliser une expression rationnelle pour modifier un format de données</h3> - -<p>Dans le script suivant, on utilise la méthode {{jsxref("String.prototype.replace()", "replace()")}} de {{jsxref("String")}} pour effectuer une correspondance sur le prénom et le nom pour les inverser. On utilise des parenthèses capturantes pour pouvoir utiliser les correspondances dans la construction du résultat (avec <code>$1</code> et <code>$2</code>).</p> - -<pre class="brush: js">var re = /(\w+)\s(\w+)/; -var chaîne = 'Alain Dupont'; -var nouvelleChaîne = chaîne.replace(re, '$2, $1'); -console.log(nouvelleChaîne); -</pre> - -<p>Cela affichera "Dupont, Alain".</p> - -<h3 id="Utiliser_une_expression_rationnelle_pour_découper_des_lignes_avec_différents_sauts_de_lignefins_de_ligne">Utiliser une expression rationnelle pour découper des lignes avec différents sauts de ligne/fins de ligne</h3> - -<p>La fin de ligne par défaut dépend de la plateforme (Unix, Windows, etc.). Cette méthode de découpage fournie permet de découper indépendamment de la plateforme utilisée.</p> - -<pre class="brush: js">var texte = 'Un texte\net un autre\r\npuis ensuite\rla fin'; -var lignes = texte.split(/\r\n|\r|\n/); -console.log(lignes); // affiche [ 'Un texte', 'et un autre', 'puis ensuite', 'la fin' ] -</pre> - -<p>On voit ici que l'ordre des modèles dans l'expression rationnelle importe.</p> - -<h3 id="Utiliser_une_expression_rationnelle_sur_plusieurs_lignes">Utiliser une expression rationnelle sur plusieurs lignes</h3> - -<pre class="brush: js">var s = 'Et voici\nune autre ligne !'; -s.match(/voici.*ligne/); -// Renvoie null -s.match(/voici[^]*ligne/); -// Renvoie ['voici\nune autre ligne'] -</pre> - -<h3 id="Utiliser_une_expression_rationnelle_avec_le_marqueur_d'adhérence">Utiliser une expression rationnelle avec le marqueur d'adhérence</h3> - -<p>Cet exemple illustre comment on peut utiliser ce marqueur qui recherche une correspondance après {{jsxref("RegExp.prototype.lastIndex")}}.</p> - -<pre class="brush: js">var str = '#toto#'; -var regex = /toto/y; - -regex.lastIndex; // 0 -regex.test(str); // true -regex.lastIndex = 1; -regex.test(str); // true -regex.lastIndex = 5; -regex.test(str); // false (lastIndex est pris en compte avec ce marqueur) -regex.lastIndex; // 0 (réinitialisation suite à l'échec)</pre> - -<h3 id="Les_expressions_rationnelles_et_les_caractères_Unicode">Les expressions rationnelles et les caractères Unicode</h3> - -<p>Comme mentionné ci-avant, les classes <code>\w</code> ou <code>\W</code> ne correspondent qu'à des caractères ASCII "a" à "z", "A" à "Z", "0" à "9" et "_". Pour effectuer des correspondances sur d'autres caractères (comme par exemple les caractères cyrilliques), on utilisera <code>\uhhhh</code>, où "hhhh" représente la valeur Unicode exprimée en hexadécimal. Cet exemple illustre comment il est possible de séparer les caractères Unicode d'un mot.</p> - -<pre class="brush: js">var texte = 'Образец text на русском языке'; -var regex = /[\u0400-\u04FF]+/g; - -var corresp = regex.exec(texte); -console.log(corresp[0]); // affiche 'Образец' -console.log(regex.lastIndex); // affiche '7' - -var corresp2 = regex.exec(texte); -console.log(corresp2[0]); // affiche 'на' (n'affiche pas text -console.log(regex.lastIndex); // affiche '15' - -// et ainsi de suite -</pre> - -<p>Voici une ressource tierce pour obtenir les différents intervalles Unicode des différents alphabets : <a href="https://kourge.net/projects/regexp-unicode-block">Regexp-unicode-block</a>.</p> - -<h3 id="Extraire_un_sous-domaine_d'une_URL">Extraire un sous-domaine d'une URL</h3> - -<pre class="brush: js">var url = 'http://xxx.domaine.com'; -console.log(/[^.]+/.exec(url)[0].substr(7)); // affiche 'xxx' -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.1.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.10', 'RegExp')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp-regular-expression-objects', 'RegExp')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> - <p>Le constructeur <code>RegExp</code> ne renvoie plus d'exception lorsqu'il est utilisé avec un objet <code>RegExp</code> et que le second argument est utilisé. Ajout du marqueur d'adhérence et du marqueur Unicode.</p> - </td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp-regular-expression-objects', 'RegExp')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp")}}</p> - -<h3 id="Notes_spécifiques_à_Firefox">Notes spécifiques à Firefox</h3> - -<p>À partir de Firefox 34, dans le cas où on utilise un groupe capturant avec des quantificateurs qui l'invalident, le texte correspondant au groupe est désormais <code>undefined</code> et non la chaîne vide :</p> - -<pre class="brush: js">// Firefox 33 ou antérieur -'x'.replace(/x(.)?/g, function(m, group) { - console.log("'group:" + group + "'"); -}); // 'group:' - -// Firefox 34 ou supérieur -'x'.replace(/x(.)?/g, function(m, group) { - console.log("'group:" + group + "'"); -}); // 'group:undefined' -</pre> - -<p>Pour des raisons de compatibilité web, <code>RegExp.$N</code> renverra une chaîne vide au lieu de <code>undefined</code> ({{bug(1053944)}}).</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/Web/JavaScript/Guide/Expressions_régulières">Le chapitre Expressions rationnelles</a> du <a href="/fr/docs/Web/JavaScript/Guide">Guide JavaScript</a></li> - <li>{{jsxref("String.prototype.match()")}}</li> - <li>{{jsxref("String.prototype.replace()")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/input/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/input/index.html deleted file mode 100644 index 14a14258a9..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/input/index.html +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: RegExp.input ($_) -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/input -tags: - - JavaScript - - Non-standard - - Propriété - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/input ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>La propriété non-standard <strong><code>input</code></strong> est une propriété statique de l'expression rationnelle qui contient la chaîne de caractères sur laquelle est effectuée la recherche de correspondances. <code>RegExp.$_</code> est un alias de cette propriété.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>RegExp</var>.input -RegExp.$_ -</pre> - -<h2 id="Description">Description</h2> - -<p>La propriété <code>input</code> est statique. Ce n'est pas la propriété d'une instance d'expression rationnelle. Cette propriété doit toujours être utilisée avec la syntaxe <code>RegExp.input</code> ou <code>RegExp.$_.</code></p> - -<p>La valeur de la propriété <code><strong>input</strong></code> est modifiée à chaque fois que la chaîne sur laquelle on recherche est modifiée et qu'il y a une correspondance.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Utiliser_input_et__">Utiliser <code>input</code> et <code>$_</code></h3> - -<pre class="brush: js">var re = /coucou/g; -re.test("coucou toi !"); -RegExp.input; // "coucou toi !" -re.test("toto"); // nouveau test, pas de correspondance -RegExp.$_; // "coucou toi !" -re.test("coucou monde !"); // nouveau test avec correspondance -RegExp.$_; // "coucou monde !" -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<p>Cette propriété n'est pas standard. Elle ne fait partie d'aucune spécification.</p> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.input")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastMatch", "RegExp.lastMatch ($&)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastParen", "RegExp.lastParen ($+)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.leftContext", "RegExp.leftContext ($`)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.rightContext", "RegExp.rightContext ($')")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.n", "RegExp.$1-$9")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/lastindex/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/lastindex/index.html deleted file mode 100644 index 21c024c57a..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/lastindex/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: regExp.lastIndex -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/lastIndex -tags: - - JavaScript - - Propriété - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex ---- -<div>{{JSRef}}</div> - -<p>La propriété <code><strong>lastIndex</strong></code> est un entier en lecture/écriture qui permet de définir l'indice (position) à partir duquel chercher la prochaine correspondance pour une instance d'expression rationnelle donnée.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-lastindex.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<div>{{js_property_attributes(1,0,0)}}</div> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>regExpObj</var>.lastIndex -</pre> - -<h2 id="Description">Description</h2> - -<p>Cette propriété n'est définie que si l'instance d'expression rationnelle utilise le marqueur (<em>flag</em>) <code>"g"</code> pour effectuer une recherche globale ou le marqueur <code>"y"</code> afin d'effectuer une recherche adhérente. Les règles suivantes s'appliquent :</p> - -<ul> - <li>Si <code>lastIndex</code> est supérieur à la longueur de la chaîne de caractères, <code>regexp.test</code> et <code>regexp.exec</code> échoueront et <code>lastIndex</code> sera redéfini à 0.</li> - <li>Si <code>lastIndex</code> est égal à la longueur de la chaîne de caractères et si l'expression rationnelle correspond avec la chaîne vide, il y aura une correspondance à partir de <code>lastIndex</code>.</li> - <li>Si <code>lastIndex</code> est égal à la longueur de la chaîne de caractères et que l'expression rationnelle ne peut correspondre à la chaîne vide, on n'aura pas de correspondance et <code>lastIndex</code> sera réinitialisé à 0.</li> - <li>Sinon, <code>lastIndex</code> sera défini à la position suivant la correspondance la plus récente.</li> -</ul> - -<h2 id="Exemples">Exemples</h2> - -<p>Si on a la séquence d'instructions suivante :</p> - -<pre class="brush: js">var re = /(hi)?/g; -</pre> - -<p>Correspond à la chaîne vide.</p> - -<pre class="brush: js">console.log(re.exec('hi')); -console.log(re.lastIndex); -</pre> - -<p>Renvoie <code>["hi", "hi"]</code> avec <code>lastIndex</code> égal à 2.</p> - -<pre class="brush: js">console.log(re.exec('hi')); -console.log(re.lastIndex); -</pre> - -<p>Renvoie <code>["", undefined]</code>, un tableau dont le premier élément est la chaîne vide car <code>lastIndex</code> valait 2 (et vaut toujours 2) et <code>"hi"</code> était de longueur 2.</p> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Définition initiale. JavaScript 1.5 : <code>lastIndex</code> est une propriété d'une instance de <code>RegExp</code> et n'est pas une propriété directe de <code>RegExp</code>.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.10.7.5', 'RegExp.lastIndex')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-properties-of-regexp-instances', 'RegExp.lastIndex')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-properties-of-regexp-instances', 'RegExp.lastIndex')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.lastIndex")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp.prototype.ignoreCase")}}</li> - <li>{{jsxref("RegExp.prototype.global")}}</li> - <li>{{jsxref("RegExp.prototype.multiline")}}</li> - <li>{{jsxref("RegExp.prototype.source")}}</li> - <li>{{jsxref("RegExp.prototype.sticky")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/lastmatch/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/lastmatch/index.html deleted file mode 100644 index 08669d885b..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/lastmatch/index.html +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: RegExp.lastMatch ($&) -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/lastMatch -tags: - - JavaScript - - Non-standard - - Propriété - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/lastMatch ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>La propriété non-standard <strong><code>lastMatch</code> </strong>est une propriété statique en lecture seule pour les expressions rationnelles qui contient les caractères de la dernière correspondance. <code>RegExp.$&</code> est un alias pour cette propriété.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>RegExp</var>.lastMatch -RegExp['$&'] -</pre> - -<h2 id="Description">Description</h2> - -<p>La propriété <code>lastMatch</code> est une propriété statique, ce n'est pas une propriété pour chaque objet qui représente une expression rationnelle. Cette propriété doit donc toujours être utilisée avec la syntaxe <code>RegExp.lastMatch</code> ou <code>RegExp['$&'].</code></p> - -<p>La valeur de la propriété <code>lastMatch</code> n'est accessible qu'en lecture seule et est modifiée à chaque fois qu'une correspondance est trouvée.</p> - -<p>Il n'est pas possible d'utiliser l'alias avec la notation utilisant le point pour accéder à la propriété (<code>RegExp.$&</code>) car le parseur attend une expression avec "&" dans ce cas, ce qui provoque une exception {{jsxref("SyntaxError")}}. Pour utiliser l'alias, on prendra donc la notation <a href="/fr/docs/Web/JavaScript/Reference/Opérateurs/Opérateurs_de_membres#Notation_avec_crochets">utilisant les crochets</a>.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Utiliser_lastMatch_et">Utiliser <code>lastMatch</code> et <code>$&</code></h3> - -<pre class="brush: js">var re = /coucou/g; -re.test("coucou toi!"); -RegExp.lastMatch; // "coucou" -RegExp['$&']; // "coucou" -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<p>Cette propriété n'est pas standard. Elle ne fait partie d'aucune spécification.</p> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.lastMatch")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{non-standard_inline}} {{jsxref("RegExp.input", "RegExp.input ($_)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastParen", "RegExp.lastParen ($+)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.leftContext", "RegExp.leftContext ($`)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.rightContext", "RegExp.rightContext ($')")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.n", "RegExp.$1-$9")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/lastparen/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/lastparen/index.html deleted file mode 100644 index da607ed4bc..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/lastparen/index.html +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: RegExp.lastParen ($+) -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/lastParen -tags: - - JavaScript - - Propriété - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/lastParen ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>La propriété <code><strong>lastParen</strong></code> est une propriété statique accessible en lecture seule qui contient la dernière correspondance enregistrée dans un groupe (entre parenthèse) si jamais elle existe. <code>RegExp.$+</code> est un alias pour cette propriété.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>RegExp</var>.lastParen -RegExp['$+'] -</pre> - -<h2 id="Description">Description</h2> - -<p>La propriété <code>lastParen</code> est une propriété statique, ce n'est pas une propriété liée à chaque objet. Il faut donc toujours utiliser la syntaxe <code>RegExp.lastParen</code> ou <code>RegExp['$+'].</code></p> - -<p>La valeur de la propriété <code>lastParen</code> n'est accessible qu'en lecture seule et est modifiée automatiquement à chaque fois qu'il y a une correspondance.</p> - -<p>Cet alias ne peut pas être utilisé avec la notation utilisant le point pour l'accès aux propriétés (<code>RegExp.$+</code>). En effet, le parseur attend une expression avec "+", dans ce cas, une exception {{jsxref("SyntaxError")}} est levée. Pour utiliser cette notation raccourcie, on utilisera <a href="/fr/docs/Web/JavaScript/Reference/Opérateurs/Opérateurs_de_membres#Notation_avec_crochets">la notation avec les crochets</a>.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Utiliser_lastParen_et">Utiliser <code>lastParen</code> et <code>$+</code></h3> - -<pre class="brush: js">var re = /(coucou)/g; -re.test("coucou toi !"); -RegExp.lastParen; // "coucou" -RegExp['$+']; // "coucou" -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<p>Cette propriété n'est pas standard. Elle ne fait partie d'aucune spécification.</p> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.lastParen")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{non-standard_inline}} {{jsxref("RegExp.input", "RegExp.input ($_)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastMatch", "RegExp.lastMatch ($&)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.leftContext", "RegExp.leftContext ($`)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.rightContext", "RegExp.rightContext ($')")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.n", "RegExp.$1-$9")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/leftcontext/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/leftcontext/index.html deleted file mode 100644 index e886719276..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/leftcontext/index.html +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: RegExp.leftContext ($`) -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/leftContext -tags: - - JavaScript - - Non-standard - - Propriété - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/leftContext ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>La propriété non-standard <code><strong>leftContext</strong></code> est une propriété statique accessible uniquement en lecture. Cette propriété liée aux expressions rationnelles contient la sous-chaîne qui précède la correspondance la plus récente. <code>RegExp.$`</code> est un alias pour cette propriété.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>RegExp</var>.leftContext -RegExp['$`'] -</pre> - -<h2 id="Description">Description</h2> - -<p>La propriété <code>leftContext</code> est une propriété statique, elle n'est donc pas distincte entre les différents objets représentants les expressions rationnelles. Il faut donc toujours utiliser la syntaxe <code>RegExp.leftContext</code> ou <code>RegExp['$`'].</code></p> - -<p>La valeur de la propriété <code>leftContext</code> n'est accessible uniquement qu'en lecture. Elle est modifiée par le moteur à chaque fois qu'une nouvelle correspondance est trouvée.</p> - -<p>L'alias ne peut pas être utilisé avec la notation utilisant le point (<code>RegExp.$`</code>). En effet, le parseur attend un gabarit de chaîne à la suite de l'accent grave. Si on utilise le point, on aura donc une exception {{jsxref("SyntaxError")}}. Pour cet alias, on utilisera <a href="/fr/docs/Web/JavaScript/Reference/Opérateurs/Opérateurs_de_membres#Notation_avec_crochets">la notation à base de crochets</a>.</p> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush: js">var re = /monde/g; -re.test("coucou monde !"); -RegExp.leftContext; // "coucou " -RegExp['$`']; // "coucou " -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<p>Cette propriété n'est pas standard et ne fait partie d'aucune spécification.</p> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.leftContext")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{non-standard_inline}} {{jsxref("RegExp.input", "RegExp.input ($_)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastMatch", "RegExp.lastMatch ($&)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastParen", "RegExp.lastParen ($+)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.rightContext", "RegExp.rightContext ($')")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.n", "RegExp.$1-$9")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/multiline/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/multiline/index.html deleted file mode 100644 index 4e73d4e5a5..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/multiline/index.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: RegExp.prototype.multiline -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/multiline -tags: - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/multiline ---- -<div>{{JSRef}}</div> - -<p>La propriété <code><strong>multiline</strong></code> indique si le drapeau (<em>flag</em>) "<code>m</code>" a été utilisé ou non pour l'expression rationnelle. <code>multiline</code> est une propriété liée à l'instance, accessible en lecture seule.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-multiline.html", "taller")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<div>{{js_property_attributes(0,0,1)}}</div> - -<h2 id="Description">Description</h2> - -<p>La valeur de <code>multiline</code> est un booléen. Elle vaut <code>true</code> si le drapeau "<code>m</code>" a été utilisé et <code>false</code> sinon. Le flag "<code>m</code>" indique qu'une chaine de caractères qui s'étend sur plusieurs lignes doit être traitée comme une série de ligne. Ainsi, si "<code>m</code>" est utilisé, "<code>^</code>" et "<code>$</code>" ne correspondent plus au début et à la fin de la chaîne mais aux débuts et aux fins de chaque ligne de la chaîne.</p> - -<p>Cette propriété ne peut pas être modifiée directement.</p> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush:js">var regex = new RegExp("toto", "m"); - -console.log(regex.multiline); // true -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.2. Avec JavaScript 1.5 : <code>multiline</code> est une propriété liée à l'instance de {{jsxref("RegExp")}} et non à l'objet <code>RegExp</code>.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.10.7.4', 'RegExp.prototype.multiline')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-get-regexp.prototype.multiline', 'RegExp.prototype.multiline')}}</td> - <td>{{Spec2('ES6')}}</td> - <td><code>multiline</code> est désormais un propriété du prototype sous forme d'accesseur plutôt qu'une propriété directement liée à l'instance.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-regexp.prototype.multiline', 'RegExp.prototype.multiline')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.multiline")}}</p> - -<h2 id="Notes_de_compatibilité">Notes de compatibilité</h2> - -<ul> - <li>Avant Firefox 48 , une propriété globale non-standard <code>RegExp.multiline</code> existait en plus de la propriété <code>RegExp.prototype.multiline</code>. Elle a été retirée dans les nouvelles versions du moteur (cf. {{bug(1219757)}}). On utilisera la propriété décrite sur cette page ou le <a href="/fr/docs/Web/JavaScript/Guide/Expressions_régulières#Effectuer_des_recherches_avancées_en_utilisant_les_drapeaux_(flags)">marqueur <code>m</code></a> à la place.</li> -</ul> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp.prototype.global")}}</li> - <li>{{jsxref("RegExp.prototype.lastIndex")}}</li> - <li>{{jsxref("RegExp.prototype.ignoreCase")}}</li> - <li>{{jsxref("RegExp.prototype.source")}}</li> - <li>{{jsxref("RegExp.prototype.sticky")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/n/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/n/index.html deleted file mode 100644 index ecbda5eac8..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/n/index.html +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: RegExp.$1-$9 -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/n -tags: - - JavaScript - - Non-standard - - Propriété - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/n ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>Les propriétés non-standard <strong>$1, $2, $3, $4, $5, $6, $7, $8, $9</strong> sont des propriétés statiques accessibles en lecture qui contiennent les différents groupes capturés par une expression rationnelle.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>RegExp</var>.$1 -RegExp.$2 -RegExp.$3 -RegExp.$4 -RegExp.$5 -RegExp.$6 -RegExp.$7 -RegExp.$8 -RegExp.$9 -</pre> - -<h2 id="Description">Description</h2> - -<p>Les propriétés $1, ..., $9 sont des propriétés statiques. Ce ne sont pas des propriétés rattachées à une expression rationnelle donnée. Pour cette raison, on utilisera toujours la syntaxe <code>RegExp.$1</code>, ..., <code>RegExp.$9</code>.</p> - -<p>Les valeurs de ces propriétés ne sont accessibles qu'en lecture et sont modifiées par le moteur à chaque fois qu'une nouvelle correspondance est trouvée.</p> - -<p>Le nombre de groupe d'une expression rationnelle n'est pas limité. Cependant, l'objet <code>RegExp</code> ne contient que les neufs premiers groupes. Pour accéder à chacun des groupes liés à une expression rationnelle donnée, on pourra utiliser les indices du tableau relevant les correspondances.</p> - -<p>Ces propriétés peuvent être utilisées pour le texte de remplacement de la méthode {{jsxref("String.replace")}}. Avec cette méthode, on ne préfixera pas les valeurs par <code>RegExp</code> (voir l'exemple ci-après), lorsque les parenthèses groupantes ne sont pas utilisées dans l'expression, <code>$n</code> sera interprété littérallement (avec <code>n</code> un entier positif).</p> - -<h2 id="Exemples">Exemples</h2> - -<p>Dans le script qui suit, on utilise {{jsxref("String.prototype.replace()", "replace()")}} d'une instance de {{jsxref("String")}} pour inverser le premier mot et le dernier et placer une virgule entre. Le script utilise <code>$1</code> et <code>$2</code> pour faire référence aux groupes de l'expression rationnelle :</p> - -<pre class="brush: js">var re = /(\w+)\s(\w+)/; -var str = 'Jean Biche'; -str.replace(re, '$2, $1'); // "Biche, Jean" -RegExp.$1; // "Jean" -RegExp.$2; // "Biche" -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<p>Ces propriétés ne sont pas standard, elles ne font partie d'aucune spécification.</p> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.n")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{non-standard_inline}} {{jsxref("RegExp.input", "RegExp.input ($_)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastMatch", "RegExp.lastMatch ($&)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastParen", "RegExp.lastParen ($+)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.leftContext", "RegExp.leftContext ($`)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.rightContext", "RegExp.rightContext ($')")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/prototype/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/prototype/index.html deleted file mode 100644 index 7a507e9699..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/prototype/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: RegExp.prototype -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/prototype -tags: - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp -translation_of_original: Web/JavaScript/Reference/Global_Objects/RegExp/prototype ---- -<div>{{JSRef}}</div> - -<p>La propriété <code><strong>RegExp.prototype</strong></code> représente l'objet prototype pour le constructeur {{jsxref("RegExp")}}.</p> - -<div>{{js_property_attributes(0,0,0)}}</div> - -<h2 id="Description">Description</h2> - -<p>Voir la page {{jsxref("RegExp")}} qui décrit les instances de <code>RegExp</code>. Chaque instance de <code>RegExp</code> hérite de <code>RegExp.prototype</code>. Toute modification à l'objet prototype est propagée aux instances de <code>RegExp</code>.</p> - -<h2 id="Propriétés">Propriétés</h2> - -<p>Voir également la page sur <a href="/fr/docs/JavaScript/Reference/Annexes/Fonctionnalités_dépréciées">les propriétés dépréciées de <code>RegExp</code>.</a></p> - -<p>On notera que plusieurs des propriétés de {{jsxref("RegExp")}} ont un nom court et un nom long (semblable aux noms Perl). Le nom court et le nom long font référence à la même propriété. La modélisation des expressions rationnelles JavaScript est basée sur celle de Perl, un autre langage de programmation.</p> - -<dl> - <dt><code>RegExp.prototype.</code><code>constructor</code></dt> - <dd>Définit la fonction qui crée le prototype d'un objet.</dd> - <dt>{{jsxref("RegExp.prototype.flags")}}</dt> - <dd>Une chaîne qui contient les drapeaux (<em>flags</em>) utilisés pour l'objet <code>RegExp</code>.</dd> - <dt>{{jsxref("RegExp.prototype.dotAll")}}</dt> - <dd>Indique si <code>.</code> peut correspondre à des sauts de ligne.</dd> - <dt>{{jsxref("RegExp.prototype.global")}}</dt> - <dd>Définit si l'expression rationnelle doit relever la première correspondance d'une chaîne ou toutes les correspondances.</dd> - <dt>{{jsxref("RegExp.prototype.ignoreCase")}}</dt> - <dd>Définit si l'expression rationnelle doit ignorer la casse ou non pour détecter une correspondance.</dd> - <dt>{{jsxref("RegExp.prototype.multiline")}}</dt> - <dd>Définit si la recherche de la correspondance s'effectue sur plusieurs lignes ou sur une seule.</dd> - <dt>{{jsxref("RegExp.prototype.source")}}</dt> - <dd>Le texte du motif (<em>pattern</em>) à rechercher.</dd> - <dt>{{jsxref("RegExp.prototype.sticky")}}</dt> - <dd>Définit si la recherche s'effectue uniquement à partir de <code>lastIndex</code> ou non.</dd> - <dt>{{jsxref("RegExp.prototype.unicode")}}</dt> - <dd>Cette propriété indique si les fonctionnalités Unicode sont activées ou non.</dd> -</dl> - -<h2 id="Méthodes">Méthodes</h2> - -<dl> - <dt>{{jsxref("Regexp.prototype.compile()")}}{{deprecated_inline}}</dt> - <dd>(Re)compile une expression rationnelle lors de l'exécution d'un script.</dd> - <dt>{{jsxref("RegExp.prototype.exec()")}}</dt> - <dd>Exécute une recherche de correspondance sur la chaîne de caractères fournie en paramètre.</dd> - <dt>{{jsxref("RegExp.prototype.test()")}}</dt> - <dd>Teste s'il y a une correspondance dans la chaîne de caractères fournie en paramètre.</dd> - <dt>{{jsxref("RegExp.prototype.@@match()", "RegExp.prototype[@@match]()")}}</dt> - <dd>Teste une correspondance sur une chaîne de caractères donnée et renvoie le résultat du test.</dd> - <dt>{{jsxref("RegExp.prototype.@@matchAll()", "RegExp.prototype[@@matchAll]()")}}</dt> - <dd>Renvoie l'ensemble des correspondances d'une expression rationnelle sur une chaîne.</dd> - <dt>{{jsxref("RegExp.prototype.@@replace()", "RegExp.prototype[@@replace]()")}}</dt> - <dd>Remplace les correspondances d'une chaîne de caractères avec une nouvelle sous-chaînes.</dd> - <dt>{{jsxref("RegExp.prototype.@@search()", "RegExp.prototype[@@search]()")}}</dt> - <dd>Recherche la correspondance dans une chaîne de caractères donnée et renvoie la position où est trouvé le motif.</dd> - <dt>{{jsxref("RegExp.prototype.@@split()", "RegExp.prototype[@@split]()")}}</dt> - <dd>Découpe une chaîne de caractères en un tableau de sous-chaînes.</dd> - <dt>{{jsxref("RegExp.prototype.toSource()")}} {{non-standard_inline}}</dt> - <dd>Renvoie un littéral objet représentant l'objet spécifié. Cette méthode peut être utilisée pour créer un nouvel objet. Elle surcharge la méthode {{jsxref("Object.prototype.toSource()")}}.</dd> - <dt>{{jsxref("RegExp.prototype.toString()")}}</dt> - <dd>Renvoie une chaîne de caractères représentant l'objet spécifié. Cette méthode surcharge {{jsxref("Object.prototype.toString()")}}.</dd> -</dl> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Définition initiale</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.10.5.1', 'RegExp')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp.prototype', 'RegExp.prototype')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp.prototype', 'RegExp.prototype')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.prototype")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/Web/JavaScript/Guide/Expressions_régulières">Le chapitre concernant les expressions rationnelles</a> du <a href="/fr/docs/Web/JavaScript/Guide" title="JavaScript/Guide">Guide JavaScript</a></li> - <li>{{jsxref("RegExp")}}</li> - <li>{{jsxref("Function.prototype")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/rightcontext/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/rightcontext/index.html deleted file mode 100644 index 924c4e564d..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/rightcontext/index.html +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: RegExp.rightContext ($') -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/rightContext -tags: - - JavaScript - - Non-standard - - Propriété - - Reference - - RegExp - - Regular Expressions -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/rightContext ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>La propriété non-standard <strong><code>rightContext</code> </strong>est une propriété statique, accessible uniquement en lecture, qui contient la sous-chaîne suivant la correspondance la plus récente. <code>RegExp.$'</code> est un alias pour cette propriété.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>RegExp</var>.rightContext -RegExp["$'"] -</pre> - -<h2 id="Description">Description</h2> - -<p>La propriété <code>rightContext</code> est une propriété statique et n'est pas liée à une instance d'expression rationnelle. Pour cette raison, il faut toujours utiliser la syntaxe <code>RegExp.rightContext</code> ou <code>RegExp["$'"].</code></p> - -<p>La valeur de la propriété <code>rightContext</code> n'est accessible qu'en lecture. Le moteur la modifie à chaque fois qu'une nouvelle correspondance est trouvée.</p> - -<p>L'alias ne peut pas être utilisé avec la syntaxe utilisant le point (<code>RegExp.$'</code>). En effet, l'analyseur (<em>parser</em>) attend un début de chaîne du fait de la simple quote, ce qui provoquerait une exception {{jsxref("SyntaxError")}}. Il faut donc utiliser <a href="/fr/docs/Web/JavaScript/Reference/Opérateurs/Opérateurs_de_membres#Notation_avec_crochets">la notation à base de crochets</a>.</p> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush: js">var re = /coucou/g; -re.test("coucou monde !"); -RegExp.rightContext; // " monde !" -RegExp["$'"]; // " monde !" -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<p>Cette propriété n'est pas standard, elle ne fait partie d'aucune spécification.</p> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.rightContext")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{non-standard_inline}} {{jsxref("RegExp.input", "RegExp.input ($_)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastMatch", "RegExp.lastMatch ($&)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.lastParen", "RegExp.lastParen ($+)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.leftContext", "RegExp.leftContext ($`)")}}</li> - <li>{{non-standard_inline}} {{jsxref("RegExp.n", "RegExp.$1-$9")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/source/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/source/index.html deleted file mode 100644 index 53d8e7a93f..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/source/index.html +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: RegExp.prototype.source -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/source -tags: - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/source ---- -<div>{{JSRef}}</div> - -<p>La propriété <code><strong>source</strong></code> renvoie une chaîne de caractères qui contient le texte du motif à rechercher (<em>pattern</em>), sans les barres obliques (<em>slashes</em>). C'est une propriété en lecture seule liée à l'instance. <strong><code>source</code></strong> ne contient aucun des options ou drapeaux (<em>flags</em>) (tels que "g", "i" ou "m") de l'expression rationnelle.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-source.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<div>{{js_property_attributes(0,0,1)}}</div> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Utiliser_source">Utiliser <code>source</code></h3> - -<pre class="brush:js">var regex = /totoMachin/ig; - -console.log(regex.source); // "totoMachin" -</pre> - -<h3 id="Les_expressions_ratonnelles_vides_et_l'échappement">Les expressions ratonnelles vides et l'échappement</h3> - -<p>À partir d'ECMAScript 5, la propriété <code>source</code> ne renvoie plus une chaîne vide pour les expressions rationnelles vides. Elle renvoie la chaîne <code>"(?:)"</code>. De plus, les fins de lignes (telles que "\n") sont désormais échappées.</p> - -<pre class="brush: js">new RegExp().source; // "(?:)" - -new RegExp('\n').source === "\n"; // true avant ES5 -new RegExp('\n').source === "\\n"; // true à partir d'ES5</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.2. Avec JavaScript 1.5 : <code>source</code> est une propriété de l'instance de {{jsxref("RegExp")}}, ce n'est pas une propriété de l'objet <code>RegExp</code>.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.10.7.1', 'RegExp.prototype.source')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td><code>source</code> renvoie désormais "(?:)" (et non "") pour les expressions vides. La définition du comportement pour les échappements a été ajoutée.</td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-get-regexp.prototype.source', 'RegExp.prototype.source')}}</td> - <td>{{Spec2('ES6')}}</td> - <td><code>source</code> est désormais un accesseur lié au prototype plutôt qu'une propriété directement rattachée à l'instance.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-regexp.prototype.source', 'RegExp.prototype.source')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.source")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp.prototype.flags")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/sticky/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/sticky/index.html deleted file mode 100644 index 27dc60d802..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/sticky/index.html +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: RegExp.prototype.sticky -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/sticky -tags: - - ECMAScript 2015 - - Expressions rationnelles - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/sticky ---- -<div>{{JSRef}}</div> - -<p>La propriété <code><strong>sticky</strong></code> (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). <code>sticky</code> est une propriété accessible en lecture seule, rattachée à l'instance.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-sticky.html")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<div>{{js_property_attributes(0,0,1)}}</div> - -<h2 id="Description">Description</h2> - -<p>La propriété <code>sticky</code> est un booléen qui vaut <code>true</code> si le marqueur (<em>flag</em>) "<code>y</code>" a été utilisé, <code>false</code> 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 <code>sticky</code> <strong>et</strong> le marqueur <code>global</code> ignorera le marqueur <code>global</code>.</p> - -<p>La propriété <code>sticky</code> ne peut pas être modifiée directement. Elle est uniquement en lecture seule.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Utiliser_une_expression_rationnelle_avec_le_flag_sticky">Utiliser une expression rationnelle avec le <em>flag</em> <em>sticky</em></h3> - -<pre class="brush: js">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) -</pre> - -<h3 id="Marqueur_d'adhérence_«_ancré_»">Marqueur d'adhérence « ancré »</h3> - -<p>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 <code>^</code> 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 <code>y</code> est utilisé avec un motif commençant par <code>^</code>, ce dernier doit correspondre au début de la chaine (ou, si <code>multiline</code> vaut <code>true</code>, au début de la ligne). Les exemples qui suivent illustrent le comportement correct :</p> - -<pre class="brush: js">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 -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Etat</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-get-regexp.prototype.sticky', 'RegExp.prototype.sticky')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-regexp.prototype.sticky', 'RegExp.prototype.sticky')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.sticky")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp.prototype.global")}}</li> - <li>{{jsxref("RegExp.prototype.ignoreCase")}}</li> - <li>{{jsxref("RegExp.prototype.lastIndex")}}</li> - <li>{{jsxref("RegExp.prototype.multiline")}}</li> - <li>{{jsxref("RegExp.prototype.source")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/test/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/test/index.html deleted file mode 100644 index a68e3eb976..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/test/index.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: RegExp.prototype.test() -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/test -tags: - - JavaScript - - Méthode - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test ---- -<div>{{JSRef}}</div> - -<p>La méthode <code><strong>test()</strong></code> vérifie s'il y a une correspondance entre un texte et une expression rationnelle. Elle retourne <code>true</code> en cas de succès et <code>false</code> dans le cas contraire.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-test.html", "taller")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox notranslate"><var>regexObj</var>.test(<var>chaîne</var>)</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>chaîne</code></dt> - <dd>La chaîne de caractères qu'on souhaite comparer à l'expression rationnelle.</dd> -</dl> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>Un booléen : <code>true</code> ou <code>false</code> selon qu'une correspondance a été trouvée entre la chaîne de caractères et la chaîne passée en argument.</p> - -<h2 id="Description">Description</h2> - -<p>On utilisera <code>test()</code> dès qu'on souhaite savoir si une partie d'une chaîne de caractères correspond à une expression rationnelle (similaire à la méthode {{jsxref("String.prototype.search()")}}). Pour obtenir plus d'informations (mais une exécution moins rapide), on utilisera la méthode {{jsxref("RegExp.prototype.exec()", "exec()")}} (similaire à la méthode {{jsxref("String.prototype.match()")}}). Comme avec {{jsxref("RegExp.prototype.exec()", "exec()")}} (et même en combinant les deux), des appels successifs à <code>test()</code> sur une même instance d'une expression rationnelle permettent de rechercher après la dernière occurence. Cette méthode est différente de <code>search</code> car elle renvoie un booléen et non la position de la correspondance si elle est trouvée (ou <code>-1</code> sinon).</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Utiliser_test">Utiliser <code>test()</code></h3> - -<p>Voici un exemple simple qui illustre comment détecter si la chaîne <code>coucou</code> est contenue au début d'une chaîne :</p> - -<pre class="brush: js notranslate">const chaine = "coucou le monde !"; -const resultat = /^coucou/.test(chaine); -console.log(resultat); // true -</pre> - -<p>L'exemple ci-dessous affiche un message qui dépend du succès du test :</p> - -<pre class="brush: js notranslate">function testinput(regex, chaine){ - var midstring; - if (regex.test(chaine)) { - midstring = " contient "; - } else { - midstring = " ne contient pas "; - } - console.log(str + midstring + re.source); -} - -testinput(/^coucou/, "coucou le monde"); // coucou le monde contient coucou -testinput(/^coucou/, "salut le monde") // salut le monde ne contient pas coucou -</pre> - -<h3 id="Utiliser_test_avec_le_marqueur_global_g">Utiliser <code>test()</code> avec le marqueur global (<code>/g</code>)</h3> - -<p>Si l'expression rationnelle utilise le marqueur global (<code>g</code>), la méthode <code>test()</code> avancera la propriété {{jsxref("RegExp.lastIndex", "lastIndex")}} associée à l'expression rationnelle. Ainsi, si on utilise <code>test()</code> ensuite, la recherche commencera à partir de la nouvelle valeur de <code>lastIndex</code> (de même {{jsxref("RegExp.prototype.exec()","exec()")}} fera également avancer la propriété <code>lastIndex</code>). On notera que la propriété <code>lastIndex</code> ne sera pas réinitialisée si la recherche est effectuée sur une autre chaîne de caractères.</p> - -<pre class="brush: js notranslate">var regex = /toto/g; - -// regex.lastIndex se situe à 0 -regex.test("toto"); // true - -// regex.lastIndex se situe désormais à 4 -regex.test("toto"); // false -</pre> - -<p>Avec le même mécanisme, on peut utiliser une boucle pour compter le nombre de mots contenus dans une chaîne de caractères</p> - -<pre class="brush: js notranslate">function compterMots(texte) { - for (var regex = /\w+/g, nbMots = 0; regex.test(texte); nbMots++); - return nbMots; -} - -console.log(compterMots("Ah que coucou Bob")); // 4 -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.2.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.10.6.3', 'RegExp.test')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp.prototype.test', 'RegExp.test')}}</td> - <td>{{Spec2('ES6')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp.prototype.test', 'RegExp.test')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.test")}}</p> - -<h2 id="Notes_spécifiques_à_Firefox">Notes spécifiques à Firefox</h2> - -<p>Pour les versions antérieures à Firefox 8.0, l'implémentation de <code>test()</code> était erronée. Quand la méthode était appelée sans aucun paramètre, elle effectuait son test par rapport à la dernière entrée (la propriété <code>RegExp.input</code>) et non par rapport à la chaîne <code>"undefined"</code>. Ce comportement a été corrigé ; désormais <code>/undefined/.test()</code> retourne bien <code>true</code> au lieu d'une erreur.</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>Le chapitre sur <a href="/fr/docs/Web/JavaScript/Guide/Expressions_régulières">les expressions rationnelles</a> du <a href="/fr/docs/Web/JavaScript/Guide">guide JavaScript</a></li> - <li>{{jsxref("RegExp")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/tosource/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/tosource/index.html deleted file mode 100644 index 976fb23117..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/tosource/index.html +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: RegExp.prototype.toSource() -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/toSource -tags: - - JavaScript - - Méthode - - Non-standard - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/toSource ---- -<div>{{JSRef}}{{non-standard_header}}</div> - -<p>La méthode <code><strong>toSource()</strong></code> permet de renvoyer une chaîne de caractères représentant le code source de l'objet.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>objetRegExp</var>.toSource() -</pre> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>Une chaîne de caractères représentant le code source de l'objet {{jsxref("RegExp")}}.</p> - -<h2 id="Description">Description</h2> - -<p>La méthode <code>toSource</code> renvoie les valeurs suivantes :</p> - -<ul> - <li>Pour l'objet natif {{jsxref("RegExp")}}, <code>toSource()</code> renvoie la chaîne de caractères suivante, indiquant que le code source n'est pas disponible : - - <pre class="brush: js">function RegExp() { - [native code] -} -</pre> - </li> - <li>Pour les instances de {{jsxref("RegExp")}}, <code>toSource()</code> renvoie une chaîne de caractères indiquant le code source de l'objet.</li> -</ul> - -<p>Cette méthode est généralement utilisée de façon interne au moteur JavaScript, elle n'est pas censée être utilisée dans du code JavaScript classique.</p> - -<h2 id="Spécifications">Spécifications</h2> - -<p>Cette méthode ne fait partie d'aucun standard. Elle a été implémentée avec JavaScript 1.3.</p> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.toSource")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Object.prototype.toSource()")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/tostring/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/tostring/index.html deleted file mode 100644 index a06f740075..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/tostring/index.html +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: RegExp.prototype.toString() -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/toString -tags: - - JavaScript - - Méthode - - Prototype - - Reference - - RegExp -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/toString ---- -<div>{{JSRef}}</div> - -<p>La méthode <code><strong>toString()</strong></code> renvoie une chaîne de caractères représentant l'expression rationnelle.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-tostring.html", "taller")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox"><var>regexObj</var>.toString();</pre> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>Une chaîne de caractères représentant l'expression rationnelle appelante.</p> - -<h2 id="Description">Description</h2> - -<p>L'objet {{jsxref("RegExp")}} surcharge la méthode <code>toString</code> de l'objet {{jsxref("Object")}}. Il n'hérite donc pas de {{jsxref("Object.prototype.toString()")}}. Pour les objets <code>RegExp</code>, la méthode <code>toString()</code> renvoie une représentation de l'expression rationnelle sous la forme d'une chaîne de caractères.</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Utiliser_toString()">Utiliser <code>toString()</code></h3> - -<p>L'exemple qui suit affiche la chaîne correspondant à la valeur de l'objet {{jsxref("Global_Objects/RegExp", "RegExp")}} :</p> - -<pre class="brush: js">var maRegExp = new RegExp("a+b+c"); -console.log(maRegExp.toString()); // affiche "/a+b+c/" - -var toto = new RegExp("truc", "g"); -console.log(toto.toString()); // affiche "/truc/g" -</pre> - -<h3 id="Les_expressions_ratonnelles_vides_et_l'échappement">Les expressions ratonnelles vides et l'échappement</h3> - -<p>À partir d'ECMAScript 5, la méthode renvoie la chaîne <code>"(?:)"</code> pour les expressions vides. De plus, les fins de lignes (telles que "\n") sont désormais échappées.</p> - -<pre class="brush: js">new RegExp().toString(); // "(?:)" - -new RegExp('\n').toString() === "/\n/"; // true avant ES5 -new RegExp('\n').toString() === "/\\n/"; // true à partir d'ES5</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.1.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.9.5.2', 'RegExp.prototype.toString')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td><code>source</code> renvoie désormais "(?:)" (et non "") pour les expressions vides. La définition du comportement pour les échappements a été ajoutée.</td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-regexp.prototype.tostring', 'RegExp.prototype.toString')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-regexp.prototype.tostring', 'RegExp.prototype.toString')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.toString")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Object.prototype.toString()")}}</li> -</ul> diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/unicode/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/unicode/index.html deleted file mode 100644 index e4400b5f35..0000000000 --- a/files/fr/web/javascript/reference/objets_globaux/regexp/unicode/index.html +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: RegExp.prototype.unicode -slug: Web/JavaScript/Reference/Objets_globaux/RegExp/unicode -tags: - - ECMAScript 2015 - - JavaScript - - Propriété - - Prototype - - Reference - - RegExp - - Regular Expressions -translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/unicode ---- -<div>{{JSRef}}</div> - -<p>La propriété <strong><code>unicode</code></strong> indique si le drapeau "<code>u</code>" a été utilisé avec l'expression rationnelle. <code>unicode</code> est une propriété en lecture seule et liée à une instance d'expression rationnelle.</p> - -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-unicode.html", "taller")}}</div> - -<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> - -<div>{{js_property_attributes(0, 0, 1)}}</div> - -<h2 id="Description">Description</h2> - -<p>La valeur d'<code>unicode</code> est un {{jsxref("Boolean")}} et vaut <code>true</code> si le drapeau "<code>u</code>" a été utilisé, sinon <code>false</code>. Le drapeau "<code>u</code>" permet d'activer les fonctionnalités liées à Unicode. En utilisant le drapeau "u" toute séquence d'échappement représentant un codet Unicode sera interprétée comme telle.</p> - -<p>Cette propriété ne peut pas être modifiée directement.</p> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush: js">var regex = new RegExp('\u{61}', 'u'); - -console.log(regex.unicode); // true -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-get-regexp.prototype.unicode', 'RegExp.prototype.unicode')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-regexp.prototype.unicode', 'RegExp.prototype.unicode')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.RegExp.unicode")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("RegExp.lastIndex")}}</li> - <li>{{jsxref("RegExp.prototype.global")}}</li> - <li>{{jsxref("RegExp.prototype.ignoreCase")}}</li> - <li>{{jsxref("RegExp.prototype.multiline")}}</li> - <li>{{jsxref("RegExp.prototype.source")}}</li> - <li>{{jsxref("RegExp.prototype.sticky")}}</li> -</ul> |