mozilla
Vos résultats de recherche

    String.prototype.match()

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

    Syntaxe

    str.match(regexp)

    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 RegExp grâce à new RegExp(regexp).

    Valeur de retour

    tableau
    Un tableau (Array) contenant les correspondances ou null s'il n'y a pas de correspondance.

    Description

    Si l'expression n'utilise pas le drapeau (flag) g, le résultat obtenu sera le même qu'avec RegExp.exec(). L'objet Array résultant possède une propriété input supplémentaire indiquant la chaîne sur laquelle l'expression a été appliquée. Il possède également la propriété index représentant l'indice de la correspondance dans la chaîne.

    Si l'expression rationnelle utilise le drapeau g, la méthode renvoie un Array contenant l'ensemble des sous-chaînes correspondantes. S'il n'y a aucune correspondance, la méthode renverra null.

    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 RegExp, on pourra utiliser search().
    • Si on ne souhaite obtenir que la première correspondance, on pourra plutôt utiliser RegExp.exec() à la place.
    • Si on souhaite obtenir les groupes correspondants et que le drapeau « global » est activé, il faudra utiliser RegExp.exec() à la place.

    Exemples

    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.

    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 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.

    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']
    

    Spécifications

    Spécification Statut Commentaires
    Troisième édition d'ECMAScript. Standard Définition initiale. Implémentée avec JavaScript 1.2.
    ECMAScript 5.1 (ECMA-262)
    La définition de 'String.prototype.match' dans cette spécification.
    Standard  
    ECMAScript 6 (ECMA-262)
    La définition de 'String.prototype.match' dans cette spécification.
    En cours de validation comme recommandation  

    Compatibilité des navigateurs

    Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Support simple (Oui) (Oui) (Oui) (Oui) (Oui)
    Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)

    Notes spécifiques à Gecko

    • À partir de Gecko 27 (Firefox 27 / Thunderbird 27 / SeaMonkey 2.24), 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é RegExp.lastIndex de l'objet sera redéfini à 0 (bug 501739).
    • À partir de Gecko 39 (Firefox 39 / Thunderbird 39 / SeaMonkey 2.36), les arguments non standards pour les drapeaux sont dépréciés et déclenchent des avertissements dans la console (bug 1142351). Cette propriété est propre à Gecko et sera retirée à l'avenir.

    Voir aussi

    Étiquettes et contributeurs liés au document

    Contributors to this page: SphinxKnight, Julien.stuby, teoli, babolivier, Jeremie, Country
    Dernière mise à jour par : babolivier,
    Masquer la barre latérale