Maison  >  Article  >  interface Web  >  Comment utiliser la méthode exec de javascript

Comment utiliser la méthode exec de javascript

藏色散人
藏色散人original
2021-04-01 15:32:042985parcourir

La méthode exec de JavaScript est utilisée pour récupérer la correspondance d'une expression régulière dans une chaîne. Sa syntaxe d'utilisation est "RegExpObject.exec(string)", et la chaîne de paramètre représente la chaîne à récupérer.

Comment utiliser la méthode exec de javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

Méthode JavaScript exec()

La méthode exec() est utilisée pour récupérer les correspondances d'une expression régulière dans une chaîne.

Syntaxe

RegExpObject.exec(string)

Paramètres

chaîne Obligatoire. La chaîne à récupérer.

Valeur de retour

Renvoie un tableau qui stocke les résultats correspondants. Si aucune correspondance n'est trouvée, la valeur de retour est nulle.

Explication

La méthode exec() est très puissante. C'est une méthode universelle et plus pratique à utiliser que la méthode test() et la méthode de l'objet String qui prend en charge les expressions régulières. . complexe.

Si exec() trouve le texte correspondant, renvoie un tableau de résultats. Sinon, renvoie null. Le 0ème élément de ce tableau est le texte qui correspond à l'expression régulière, le 1er élément est le texte qui correspond à la 1ère sous-expression de RegExpObject (le cas échéant) et le 2ème élément est le texte qui correspond à la 1ère sous-expression de RegExpObject. par 2 sous-expressions (le cas échéant), et ainsi de suite. En plus des éléments du tableau et des propriétés de longueur, la méthode exec() renvoie deux propriétés. L'attribut index déclare la position du premier caractère du texte correspondant. L'attribut input stocke la chaîne de caractères récupérée. Nous pouvons voir que lorsque la méthode exec() de l'objet RegExp non global est appelée, le tableau renvoyé est le même que le tableau renvoyé par la méthode String.match().

Cependant, lorsque RegExpObject est une expression régulière globale, le comportement de exec() est légèrement plus compliqué. Il commence à récupérer la chaîne chaîne au caractère spécifié par la propriété lastIndex de RegExpObject. Lorsque exec() trouve le texte qui correspond à une expression, il définit la propriété lastIndex de RegExpObject à la position à côté du dernier caractère du texte correspondant après la correspondance. Cela signifie que vous pouvez parcourir tout le texte correspondant dans une chaîne en appelant la méthode exec() à plusieurs reprises. Lorsque exec() ne trouve plus de texte correspondant, il renvoie null et réinitialise la propriété lastIndex à 0.

[Apprentissage recommandé : Tutoriel de base js]

Conseils et notes

Important : Si après avoir terminé une correspondance de modèle dans une chaîne Pour commencer à récupérer un nouvelle chaîne, vous devez réinitialiser manuellement la propriété lastIndex à 0.

Astuce : veuillez noter que, que le RegExpObject soit global ou non, exec() ajoutera tous les détails au tableau qu'il renvoie. C'est là que exec() diffère de String.match(), qui renvoie beaucoup moins d'informations en mode global. Nous pouvons donc dire qu'appeler la méthode exec() à plusieurs reprises dans une boucle est le seul moyen d'obtenir des informations complètes de correspondance de modèle pour le modèle global.

Exemple

Dans cet exemple nous allons récupérer globalement W3School dans la chaîne :

<script type="text/javascript">
var str = "Visit W3School"; 
var patt = new RegExp("W3School","g");
var result;
while ((result = patt.exec(str)) != null)  {
  document.write(result);
  document.write("<br />");
  document.write(patt.lastIndex);
 }
</script>

Sortie :

W3School
14

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn