Exec est une méthode d'expressions régulières, pas une méthode de chaînes, et ses paramètres sont des chaînes, comme indiqué ci-dessous:
var re = new regexp (// d /); re.exec ("abc4def"); // ou utiliser le style perl: //d/.exec ("abc4def"); // correspond à la méthode fournie par la classe de chaîne. Ses paramètres sont des objets d'expression réguliers. L'utilisation suivante est correcte: "ABC4DEF" .match (/ d);Tableaux d'exécution et de rendement de correspondance
Si l'expression régulière qui exécute la méthode Exec n'est pas regroupée (sans supports), alors s'il y a une correspondance, il renverra un tableau avec un seul élément, et le seul élément de ce tableau est la première chaîne que l'expression régulière correspond; S'il n'y a pas de correspondance, il reviendra null.
Les deux fonctions de fonctions d'alerte suivantes sont les mêmes:
var str = "chat, chapeau"; var p = / at /; // il n'y a pas d'alerte d'attribut G (p.exec (str)) alerte (str.match (p))
Tous sont "à". Dans ce cas, Exec est équivalent à correspondre.
Cependant, si l'expression régulière est appariée à l'échelle mondiale (attribut G), le code ci-dessus aura des résultats différents:
var str = "chat, chapeau"; var p = / at / g; // Notez l'alerte d'attribut G (p.exec (str)) alerte (str.match (p))
Ils sont
"à"
"à, à".
Parce que Exec ne renvoie toujours que le premier match, et le match renverra toutes les correspondances lorsque l'attribut G sera spécifié régulièrement.
Si un exécutif trouve une correspondance et contient un groupe, le tableau renvoyé contiendra plusieurs éléments. Le premier élément est la correspondance trouvée, et les éléments suivants sont les premiers, deuxième ... groupes dans le match (référence inverse)
Le code suivant apparaîtra "Cat2, à":
var str = "cat2, hat8"; var p = / c (at) / d /; alert (p.exec (str))
Le premier élément est la chaîne correspondante "Cat2", et l'élément suivant est le "AT" correspondant entre parenthèses.
La fonction de correspondance interférera avec les conditions suivantes et réalisera la même fonction que Exec:
1. L'expression régulière contient des groupements (supports)
2. Renvoyez le match unique
Regardons le code suivant:
var str = "cat2, hat8"; var p = / c (at) / d /; alert (p.exec (str)) alert (str.match (p))
Le message "Cat2, à" va apparaître. Pensez-vous que c'est très étrange?
Résumer:
La correspondance est un tableau qui renvoie toutes les chaînes correspondantes, mais l'expression régulière doit spécifier l'attribut G global pour renvoyer toutes les correspondances. Si l'attribut G n'est pas spécifié, un tableau avec un seul élément sera retourné.
EXEC renvoie toujours les informations liées au premier match, qui renvoie le tableau, y compris la première chaîne de match, les back-références à tous les paquets.
Dans certains cas, le résultat renvoyé par Exec est le même que le résultat renvoyé par correspondance:
var str = "chat, chapeau"; var p = / at /; // il n'y a pas d'alerte d'attribut G (p.exec (str)) alerte (str.match (p))
"A" apparaît
Dans certains cas, le résultat renvoyé par match est le même que le résultat renvoyé par Exec:
var str = "cat2, hat8"; var p = / c (at) / d /; alert (p.exec (str)) alert (str.match (p))
"Cat2, à" apparaît
L'analyse approfondie de l'article ci-dessus des méthodes EXEC et MATCH en JavaScript est tout le contenu que je partage avec vous. J'espère que cela pourra vous donner une référence et j'espère que vous pourrez soutenir Wulin.com plus.