La différence entre le test, l'exec, la méthode de correspondance dans les expressions régulières JS
test
Test Renvoie Boolean pour trouver le mode d'existence dans la chaîne correspondante.
var str = "1a1b1c";
var reg = new regexp ("1.", "");
alerte (reg.test (str));
exécutif
Exec trouve et renvoie les résultats de correspondance actuels et revient sous la forme d'un tableau.
var str = "1a1b1c";
var reg = new regexp ("1.", "");
var anrr = reg.exec (str);
S'il n'y a pas de mode, ARR est nul, sinon ARR est toujours un tableau de 1 longueur, et sa valeur est la correspondance actuelle. Il y a trois attributs de l'ARR: la position de la correspondance actuelle de l'index;
La méthode exec est affectée par le paramètre G. Si G est spécifié, lorsque l'exécutif est appelé la prochaine fois, vous commencerez de LastIndex, qui a été apparié.
var str = "1a1b1c";
var reg = new regexp ("1.", "");
alert (reg.exec (str) [0]);
alert (reg.exec (str) [0]);
Les deux sorties ci-dessus sont 1A. Regardez maintenant le paramètre spécifié G:
var str = "1a1b1c";
var reg = new regexp ("1.", "g");
alert (reg.exec (str) [0]);
alert (reg.exec (str) [0]);
La première sortie 1A, la deuxième sortie 1b.
correspondre
La correspondance est une méthode d'objet String.
var str = "1a1b1c";
var reg = new regexp ("1.", "");
alerte (str.match (reg));
Cette méthode est un peu comme Exec, mais: EXEC est la méthode de l'objet regexp; Il existe une autre différence entre les deux, qui est l'explication du paramètre G.
Si le paramètre G est spécifié, le match reviendra à tous les résultats à la fois.
var str = "1a1b1c";
var reg = new regexp ("1.", "g");
alerte (str.match (reg));
// alertes (str.match (reg));
Ce résultat est un tableau avec trois éléments, qui sont: 1a, 1b, 1c.
Deux fonctions sont souvent utilisées dans JavaScript, et la correspondance et le test sont souvent utilisés dans les expressions régulières.
Faire correspondre exmple
Copier le code du code comme suit:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = / [ae] / gi;
var rs = str.match (regexp);
// rs = array ('a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e');
Exemple de test
Copier le code du code comme suit:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = / [ae] / gi;
var rs = regexp.test (str);
// rs = true;
Exemple
Copier le code du code comme suit:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = / [ae] / gi;
var rs;
While ((rs = regexp.exec (str))! = Null)
{{
Document.Write (RS);
Document.Write (regexp.lastIndex);
document.write ("<br />");
}
Sortir
-------------------------------------------------- -----------------------------------
A 1
B 2
C 3
D 4
E 5
A 27
B 28
C 29
D 30
E 31
Un autre ex-exmple
Copier le code du code comme suit:
var regexp = / ab * / g;
var str = "abbcdefabh";
var rs;
While ((rs = regexp.exec (str))! = Null)
{{
Document.Write (RS);
Document.Write (regexp.lastIndex);
document.write ("<br />");
}
Sortir
-------------------------------------------------- -----------------------------------
abb 3
Ab 9