Ich bin ernsthaft verrückt danach und habe bereits unverhältnismäßig viel Zeit damit verbracht, herauszufinden, was hier vor sich geht. Also bitte hilf mir =)
Ich muss einige RegExp-Übereinstimmungen von Zeichenfolgen in JavaScript durchführen. Leider verhält es sich sehr seltsam. Dieser Code:
var rx = /(cat|dog)/gi;
var w = new Array("I have a cat and a dog too.", "There once was a dog and a cat.", "I have a cat and a dog too.", "There once was a dog and a cat.","I have a cat and a dog too.", "There once was a dog and a cat.","I have a cat and a dog too.", "There once was a dog and a cat.","I have a cat and a dog too.", "There once was a dog and a cat.","I have a cat and a dog too.", "There once was a dog and a cat.","I have a cat and a dog too.", "There once was a dog and a cat.");
for (var i in w) {
var m = null;
m = rx.exec(w[i]);
if(m){
document.writeln("<pre>" + i + "\nINPUT: " + w[i] + "\nMATCHES: " + m.slice(1) + "</pre>");
}else{
document.writeln("<pre>" + i + "\n'" + w[i] + "' FAILED.</pre>");
}
}
Gibt "Katze" und "Hund" für die ersten beiden Elemente zurück, wie es sein sollte, aber dann exec()kehren einige Anrufe zurück null. Ich verstehe nicht warum.
Ich habe hier eine Geige gepostet , in der Sie den Code ausführen und bearbeiten können.
Und bis jetzt habe ich dies in Chrome und Firefox versucht.
Prost!
/ Christofer
"I have a cat and a dog too.", wie es scheint