From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../reference/global_objects/string/match/index.md | 159 +++++++++------------ 1 file changed, 64 insertions(+), 95 deletions(-) (limited to 'files/fr/web/javascript/reference/global_objects/string/match') diff --git a/files/fr/web/javascript/reference/global_objects/string/match/index.md b/files/fr/web/javascript/reference/global_objects/string/match/index.md index 27d3d04e85..9b070559b6 100644 --- a/files/fr/web/javascript/reference/global_objects/string/match/index.md +++ b/files/fr/web/javascript/reference/global_objects/string/match/index.md @@ -11,61 +11,54 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/String/match original_slug: Web/JavaScript/Reference/Objets_globaux/String/match --- -
{{JSRef}}
+{{JSRef}} -

La méthode match() permet d'obtenir le tableau des correspondances entre la chaîne courante et une expression rationnelle.

+La méthode **`match()`** permet d'obtenir le tableau des correspondances entre la chaîne courante et une expression rationnelle. -
{{EmbedInteractiveExample("pages/js/string-match.html")}}
+{{EmbedInteractiveExample("pages/js/string-match.html")}} -

Syntaxe

+## Syntaxe -
str.match(regexp)
+ str.match(regexp) -

Paramètres

+### Paramètres -
-
regexp
-
Un objet représentant une expression rationnelle. Si ce n'est pas un objet de type RegExp, celui-ci sera converti en un objet {{jsxref("RegExp")}} grâce à new RegExp(regexp). Si aucun paramètre n'est utilisé, cela renverra un tableau contenant un élément étant la chaîne vide : [""].
-
+- `regexp` + - : Un objet représentant une expression rationnelle. Si ce n'est pas un objet de type `RegExp`, celui-ci sera converti en un objet {{jsxref("RegExp")}} grâce à `new RegExp(regexp)`. Si aucun paramètre n'est utilisé, cela renverra un tableau contenant un élément étant la chaîne vide : `[""]`. -

Valeur de retour

+### Valeur de retour -

Un tableau ({{jsxref("Array")}}) contenant les correspondances et les groupes capturés avec les parenthèses ou {{jsxref("null")}} s'il n'y a pas de correspondance. Le contenu de ce tableau dépend de l'utilisation du marqueur pour la recherche globale g :

+Un tableau ({{jsxref("Array")}}) contenant les correspondances et les groupes capturés avec les parenthèses ou {{jsxref("null")}} s'il n'y a pas de correspondance. Le contenu de ce tableau dépend de l'utilisation du marqueur pour la recherche globale `g` : - +- Si le marqueur `g` est utilisé, tous les résultats correspondants à l'expression rationnelle complète seront renvoyés mais les groupes capturants ne seront pas renvoyés. +- Si le marqueur `g` n'est pas utilisé, seule la première correspondance et ses groupes capturants seront renvoyés. Dans ce cas, l'élément renvoyé aura des propriétés supplémentaires listées ci-après. -

Propriétés supplémentaires

+#### Propriétés supplémentaires -

Comme indiqué ci-avant, les résultats peuvent contenir certaines propriétés supplémentaires :

+Comme indiqué ci-avant, les résultats peuvent contenir certaines propriétés supplémentaires : - +- `groups` : un tableau de groupes capturants nommés ou {{jsxref("undefined")}} si aucun groupe capturant n'a été défini. Voir [la page sur les groupes et les intervalles](/fr/docs/Web/JavaScript/Guide/Regular_Expressions/Groups_and_Ranges) pour plus d'informations. +- `index` : l'indice de la chaîne de caractères où a été trouvée la correspondance. +- `input` : une copie de la chaîne sur laquelle a été effectuée la recherche. -

Description

+## Description -

Si l'expression n'utilise pas le drapeau (flag) g, le résultat obtenu sera le même qu'avec {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}}.

+Si l'expression n'utilise pas le drapeau (_flag_) `g`, le résultat obtenu sera le même qu'avec {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}}. -

Voir aussi : les méthodes de RegExp

+### Voir aussi : les méthodes de `RegExp` - +- Si on souhaite savoir s'il existe des correspondances entre une chaîne de caractères et une expression rationnelle {{jsxref("RegExp")}}, on pourra utiliser {{jsxref("RegExp.prototype.test()", "RegExp.test()")}}. +- Si on ne souhaite obtenir que la première correspondance, on pourra plutôt utiliser {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}} à la place. +- Si on souhaite obtenir les groupes correspondants et que le drapeau « global » est activé, il faudra utiliser {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}} à la place. -

Exemples

+## Exemples -

Utiliser match()

+### Utiliser `match()` -

Dans l'exemple suivant, on utilise match() afin de trouver la chaîne 'Chapitre' suivie par un ou plusieurs chiffres séparés par des points. L'expression utilisée active le drapeau i afin que la casse ne soit pas prise en compte.

+Dans l'exemple suivant, on utilise `match()` afin de trouver la chaîne `'Chapitre'` suivie par un ou plusieurs chiffres séparés par des points. L'expression utilisée active le drapeau `i` afin que la casse ne soit pas prise en compte. -
var str = 'Pour plus d\'informations, voir le chapitre 3.4.5.1';
+```js
+var str = 'Pour plus d\'informations, voir le chapitre 3.4.5.1';
 var re = /(chapitre \d+(\.\d)*)/i;
 var trouvé = str.match(re);
 
@@ -77,78 +70,54 @@ console.log(trouvé);
 // 'chapitre 3.4.5.1' est la valeur gardée en mémoire par
 // `(chapitre \d+(\.\d)*)`.
 // '.1' est la valeur gardée en mémoire par `(\.\d)`.
-
+``` -

Utiliser les drapeaux g (global) et i (ignorer la casse) avec match()

+### Utiliser les drapeaux `g` (global) et `i` (ignorer la casse) avec `match()` -

Dans cet exemple, on illustre comment utiliser des drapeaux avec l'expression rationnelle qui est un argument de match(). Chaque lettre de A à E et de a à e est renvoyée, chacune dans un élément du tableau de résultat.

+Dans cet exemple, on illustre comment utiliser des drapeaux avec l'expression rationnelle qui est un argument de `match()`. Chaque lettre de A à E et de a à e est renvoyée, chacune dans un élément du tableau de résultat. -
var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+```js
+var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
 var regexp = /[A-E]/gi;
 var tableau_correspondances = str.match(regexp);
 
 console.log(tableau_correspondances);
 // ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']
-
+``` -

Utiliser un paramètre qui n'est pas une RegExp

+### Utiliser un paramètre qui n'est pas une `RegExp` -

Lorsque le paramètre passé à la fonction est une chaîne de caractères ou un nombre, il est converti de façon implicite en un objet  {{jsxref("RegExp")}} grâce à new RegExp(obj). Si c'est un nombre positif avec le signe +, la méthode RegExp() ignorera ce signe.

+Lorsque le paramètre passé à la fonction est une chaîne de caractères ou un nombre, il est converti de façon implicite en un objet  {{jsxref("RegExp")}} grâce à `new RegExp(obj)`. Si c'est un nombre positif avec le signe +, la méthode `RegExp()` ignorera ce signe. -
var str1 = "NaN signifie : qui n'est pas un nombre.";
+```js
+var str1 = "NaN signifie : qui n'est pas un nombre.";
 var str2 = "Mon père a 65 ans."
 str1.match("nombre");   // "nombre" est une chaîne, renvoie ["nombre"]
 str1.match(NaN);        // NaN est de type number, renvoie ["NaN"]
 str2.match(65);         // Renvoie ["65"]
-str2.match(+65);        // Renvoie également ["65"]
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES3')}}{{Spec2('ES3')}}Définition initiale. Implémentée avec JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.10', 'String.prototype.match')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.match', 'String.prototype.match')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-string.prototype.match', 'String.prototype.match')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.String.match")}}

- -

Notes spécifiques à Firefox/Gecko

- - - -

Voir aussi

- - +str2.match(+65); // Renvoie également ["65"] +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------------------------------ | ---------------------------- | ----------------------------------------------------- | +| {{SpecName('ES3')}} | {{Spec2('ES3')}} | Définition initiale. Implémentée avec JavaScript 1.2. | +| {{SpecName('ES5.1', '#sec-15.5.4.10', 'String.prototype.match')}} | {{Spec2('ES5.1')}} |   | +| {{SpecName('ES6', '#sec-string.prototype.match', 'String.prototype.match')}} | {{Spec2('ES6')}} |   | +| {{SpecName('ESDraft', '#sec-string.prototype.match', 'String.prototype.match')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.String.match")}} + +## Notes spécifiques à Firefox/Gecko + +- `flags` était un second argument non standard présent uniquement sur Gecko : _str_.match(_regexp, flags_) et a été retiré avec Firefox 49. +- À partir de Firefox 27, cette méthode a été ajustée afin d'être conforme à ECMAScript. Lorsque `match()` est appelée sur une expression rationnelle globale, la propriété {{jsxref("RegExp.lastIndex")}} de l'objet sera redéfini à `0` ({{bug(501739)}}). + +## Voir aussi + +- {{jsxref("RegExp")}} +- {{jsxref("RegExp.prototype.exec()")}} +- {{jsxref("RegExp.prototype.test()")}} -- cgit v1.2.3-54-g00ecf