En ce qui concerne le problème de la division des tests de chaînes dans les expressions régulières, nous avons généralement deux méthodes: test () et exec (). Je n'élaborerai pas la différence entre ces deux méthodes. L'essentiel est que Test () renvoie une valeur booléenne et exec () renvoie un tableau de caractères correspondant. Cependant, aujourd'hui, j'ai rencontré un problème. Le programme est très simple, mais le problème à l'intérieur me rend incapable de comprendre. Je n'ai pas trouvé les réponses en ligne (personnellement comparées).
La copie de code est la suivante:
var moatch = new regexp ("match", "ig");
alert (Pattern.test ("match"));
alert (Pattern.exec ("match"));
La valeur de la première alerte () est vraie comme prévu
Mais la deuxième valeur de test est inattendue
Je ne sais pas quel est le principe de cette question, car je n'ai pas vu le code source de la fonction. Si un ami peut le signaler, je suis reconnaissant! !