Méthode exec() de RegExp JavaScript

Définition et utilisation

exec() Méthode testant les éléments correspondants dans la chaîne.

Cette méthode est un modèle de correspondance universel.

Si une correspondance est trouvée, retourne le tableau de résultats, sinon retourne null.

Exemple

Exemple 1

Recherche du caractère "e" dans la chaîne :

let text = "The best things in life are free";
let result = /e/.exec(text);

Essayez-le vous-même

Exemple 2

Recherche globale de "Hello" et "W3School" dans la chaîne :

let text = "Hello world!";
// Trouver "Hello"
let result1 = /Hello/.exec(text);
// Trouver "W3School"
let result2 = /W3School/.exec(text);

Essayez-le vous-même

Syntaxe

regexp.exec(commence à rechercher la chaîne à partir du caractère spécifié par l'attribut lastIndex. Cela signifie que vous pouvez appeler)

Paramètre

Paramètre Description
commence à rechercher la chaîne à partir du caractère spécifié par l'attribut lastIndex. Cela signifie que vous pouvez appeler Obligatoire. La chaîne de recherche à rechercher.

Valeur de retour

Type Description
Tableau Si une correspondance est trouvée, le tableau contient le texte correspondant, sinon il retourne null.

Détails techniques

Valeur de retour

Tableau, contenant les résultats de la correspondance. Si aucune correspondance n'est trouvée, la valeur est nullVoici la présentation du format du tableau retourné.

Lancer

Type Description
TypeError L'objet appelant cette méthode n'est pas RegExp, il lance cette exception.

Explication

Dans toutes les méthodes de correspondance de RegExp, les méthodes de correspondance de String,exec() Le plus puissant en termes de fonctionnalités. C'est une méthode universelle, plus facile à utiliser que RegExp.test()String.replace() et String.match() Très complexes.

exec() La chaîne de recherche commence à rechercher la chaîne à partir du caractère spécifié par l'attribut lastIndex. Cela signifie que vous pouvez appelerOn obtient le texte correspondant à l'expression régulière regexp Le texte correspondant. Si exec() Le texte correspondant trouvé, il retournera un tableau de résultats. Sinon, retourner nullLe premier élément du tableau retourné est le texte correspondant à l'expression. Le deuxième élément est le texte correspondant à regexp le premier sous-énoncé correspondant au texte (s'il existe). Le deuxième élément est le texte correspondant au regexp la correspondance du second sous-énoncé, etc. Habituellement, l'attribut length de l'array déclare le nombre d'éléments dans l'array. En plus des éléments de l'array et de l'attribut length,exec() retourne également deux attributs. L'attribut index déclare la position du premier caractère du texte correspondant. L'attribut input fait référence à commence à rechercher la chaîne à partir du caractère spécifié par l'attribut lastIndex. Cela signifie que vous pouvez appelerlorsque exec() les résultats retournés par la méthode String.match() les méthodes retournées sont les mêmes.

est appelée dans une expression régulière non globale exec() lorsque la méthode est appelée, elle effectue une recherche et retourne les résultats mentionnés ci-dessus. Cependant, lorsque regexp est une expression régulière globaleexec() comportement est légèrement plus complexe. Il regexp de manière répétée commence à rechercher la chaîne à partir du caractère spécifié par l'attribut lastIndex. Cela signifie que vous pouvez appeler string regexp l'attribut lastIndex de exec() Méthode pour parcourir tous les textes correspondants dans la chaîne. Lorsque exec() ne trouve plus de texte correspondant, il retourne nullet réinitialise l'attribut lastIndex à 0. Si vous devez commencer à rechercher un nouveau texte après avoir terminé une correspondance de modèle dans une autre chaîne, vous devez manuellement réinitialiser l'attribut lastIndex à 0.

Attention, peu importe regexp si c'est un mode globalexec() ajoutent des détails complets à l'array retourné. C'est exec() et String.match() différentes, la dernière retourne beaucoup moins d'informations en mode global. En fait, en appelant exec() La méthode est la seule méthode à obtenir des informations de correspondance de modèle complet en mode global.

Support du navigateur

exec() C'est une caractéristique ECMAScript1 (ES1).

Tous les navigateurs supportent complètement ES1 (JavaScript 1997) :

Chrome IE Edge Firefox Safari Opera
Supporté Supporté Supporté Supporté Supporté Supporté

Méthodes de recherche d'expressions régulières

En JavaScript, la recherche de texte avec des expressions régulières peut être effectuée de différentes manières.

UtilisationModèle (pattern)En tant que méthode régulière, voici les méthodes les plus couramment utilisées :

Exemple Description
text.match(Modèle) Méthode match() de la chaîne
text.search(Modèle) Méthode search() de la chaîne
Modèle.exec(text) Méthode exec() de RexExp
Modèle.test(text) Méthode RexExp test()