diff options
author | julieng <julien.gattelier@gmail.com> | 2021-08-03 08:03:23 +0200 |
---|---|---|
committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-09-03 08:08:25 +0200 |
commit | bf8e099b9c8b3c60d60b3712b4fc97b052c39887 (patch) | |
tree | c101746d082c9581c94f5937519c7d0e2f4af8cb /files/fr/web/javascript/reference/global_objects/regexp/@@match | |
parent | 844f5103992238c0c23203286dad16a466e89c97 (diff) | |
download | translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.gz translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.bz2 translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.zip |
convert content to md
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/regexp/@@match')
-rw-r--r-- | files/fr/web/javascript/reference/global_objects/regexp/@@match/index.md | 111 |
1 files changed, 48 insertions, 63 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/regexp/@@match/index.md b/files/fr/web/javascript/reference/global_objects/regexp/@@match/index.md index 9d3c824406..0126ab2d2f 100644 --- a/files/fr/web/javascript/reference/global_objects/regexp/@@match/index.md +++ b/files/fr/web/javascript/reference/global_objects/regexp/@@match/index.md @@ -11,54 +11,56 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/@@match original_slug: Web/JavaScript/Reference/Objets_globaux/RegExp/@@match --- -<div>{{JSRef}}</div> +{{JSRef}} -<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> +La méthode **`[@@match]()`** permet de récupérer les correspondances obtenues lorsqu'on teste une chaîne de caractères par rapport à une expression rationnelle (_regexp_). -<div>{{EmbedInteractiveExample("pages/js/regexp-prototype-@@match.html")}}</div> +{{EmbedInteractiveExample("pages/js/regexp-prototype-@@match.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>regexp</var>[Symbol.match](str)</pre> + regexp[Symbol.match](str) -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>str</code></dt> - <dd>La chaîne de caractères ({{jsxref("String")}}) sur laquelle on veut chercher des correspondances.</dd> -</dl> +- `str` + - : La chaîne de caractères ({{jsxref("String")}}) sur laquelle on veut chercher des correspondances. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<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> +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")}}. -<h2 id="Description">Description</h2> +## Description -<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> +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 : -<pre class="brush: js">'abc'.match(/a/); +```js +'abc'.match(/a/); -/a/[Symbol.match]('abc');</pre> +/a/[Symbol.match]('abc'); +``` -<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> +Cette méthode existe afin de permettre d'adapter le comportement de la recherche des correspondances pour les sous-classes de `RegExp`. -<h2 id="Exemples">Exemples</h2> +## Exemples -<h3 id="Appel_direct">Appel direct</h3> +### Appel direct -<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> +Cette méthode peut être utilisée comme {{jsxref("String.prototype.match()")}} mais avec un objet `this` différent et un ordre des paramètres également différent. -<pre class="brush: js">var re = /[0-9]+/g; +```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> +### Utilisation de `@@match` avec une sous-classe -<p>Les sous-classes de {{jsxref("RegExp")}} peuvent surcharger la méthode <code>[@@match]()</code> afin de modifier le comportement.</p> +Les sous-classes de {{jsxref("RegExp")}} peuvent surcharger la méthode `[@@match]()` afin de modifier le comportement. -<pre class="brush: js">class MaRegExp extends RegExp { +```js +class MaRegExp extends RegExp { [Symbol.match](str) { var résultat = RegExp.prototype[Symbol.match].call(this, str); if (!résultat) return null; @@ -76,41 +78,24 @@ 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> - -<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> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES6', '#sec-regexp.prototype-@@match', 'RegExp.prototype[@@match]')}} | {{Spec2('ES6')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-regexp.prototype-@@match', 'RegExp.prototype[@@match]')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.RegExp.@@match")}} + +## Voir aussi + +- {{jsxref("String.prototype.match()")}} +- {{jsxref("RegExp.prototype.@@replace()", "RegExp.prototype[@@replace]()")}} +- {{jsxref("RegExp.prototype.@@search()", "RegExp.prototype[@@search]()")}} +- {{jsxref("RegExp.prototype.@@split()", "RegExp.prototype[@@split]()")}} +- {{jsxref("RegExp.prototype.exec()")}} +- {{jsxref("RegExp.prototype.test()")}} |