Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence JavaScript
  4. Objets natifs standards
  5. String
  6. String.prototype.match()

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

String.prototype.match()

Baseline Widely available

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

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

Exemple interactif

const paragraph = "The quick brown fox jumps over the lazy dog. It barked.";const regex = /[A-Z]/g;const found = paragraph.match(regex);console.log(found);// Expected output: Array ["T", "I"]

Syntaxe

js
str.match(regexp);

Paramètres

regexp

Un objet représentant une expression rationnelle. Si ce n'est pas un objet de typeRegExp, celui-ci sera converti en un objetRegExp 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

Un tableau (Array) contenant les correspondances et les groupes capturés avec les parenthèses ounull s'il n'y a pas de correspondance. Le contenu de ce tableau dépend de l'utilisation du marqueur pour la recherche globaleg :

  • Si le marqueurg 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 marqueurg 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

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

  • groups : un tableau de groupes capturants nommés ouundefined si aucun groupe capturant n'a été défini. Voirla page sur les groupes et les intervalles 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

Si l'expression n'utilise pas le drapeau (flag)g, le résultat obtenu sera le même qu'avecRegExp.exec().

Voir aussi : les méthodes deRegExp

  • Si on souhaite savoir s'il existe des correspondances entre une chaîne de caractères et une expression rationnelleRegExp, on pourra utiliserRegExp.test().
  • Si on ne souhaite obtenir que la première correspondance, on pourra plutôt utiliserRegExp.exec() à la place.
  • Si on souhaite obtenir les groupes correspondants et que le drapeau « global » est activé, il faudra utiliserRegExp.exec() à la place.

Exemples

Utilisermatch()

Dans l'exemple suivant, on utilisematch() 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 drapeaui afin que la casse ne soit pas prise en compte.

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);console.log(trouvé);// logs ['chapitre 3.4.5.1', 'chapitre 3.4.5.1', '.1']// 'chapitre 3.4.5.1' est la première correspondance// '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 drapeauxg (global) eti (ignorer la casse) avecmatch()

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

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 uneRegExp

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 objetRegExp grâce ànew RegExp(obj). Si c'est un nombre positif avec le signe +, la méthodeRegExp() ignorera ce signe.

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

Specification
ECMAScript® 2026 Language Specification
# sec-string.prototype.match

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

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


[8]ページ先頭

©2009-2025 Movatter.jp