In Bezug auf das Problem der String -Testabteilung in regulären Ausdrücken haben wir im Allgemeinen zwei Methoden: test () und exec (). Ich werde den Unterschied zwischen diesen beiden Methoden nicht näher erläutern. Die Hauptsache ist, dass test () einen booleschen Wert zurückgibt und exec () ein Matching -Charakter -Array zurückgibt. Heute habe ich jedoch auf ein Problem gestoßen. Das Programm ist sehr einfach, aber das Problem im Inneren lässt mich nicht verstehen. Ich habe die Antworten online nicht gefunden (persönlich verglichen).
Die Codekopie lautet wie folgt:
var muster = new regexp ("match", "ig");
alert (muster.test ("match"));
alert (muster.exec ("match"));
Der Wert der ersten Alert () ist wie erwartet wahr
Aber der zweite Testwert ist unerwartet null
Ich weiß nicht, was das Prinzip über diese Frage ist, da ich den Funktionsquellcode nicht gesehen habe. Wenn ein Freund darauf hinweisen kann, bin ich dankbar! !