Méthode exec() de RegExp JavaScript
- Page précédente compile()
- Page suivante test()
- Retour au niveau supérieur Manuel de référence JavaScript RegExp
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);
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);
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 null
Voici 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 null
Le 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 null
et 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() |
- Page précédente compile()
- Page suivante test()
- Retour au niveau supérieur Manuel de référence JavaScript RegExp