Hallo kAmit,
http://selfhtml.teamone.de/javascript/objekte/regexp.htm
so ist's richtig:
http://selfhtml.teamone.de/javascript/objekte/regexp.htm#exec ;) - "derSatz" kommt häufiger auf der angegebenen Seite vor.
Theoretisch verstanden,
wahrscheinlich nicht ganz, ist auch dürftig erklärt.
aber warum um alles in der Welt ist das Suchergebnis auch 2, wenn ich die Varibale derSatz in var derSatz = "Auf der Mauer sitzt Klaus."; ändere?
Weil reg.exec folgendes Array zurückgibt:
ergebnis[0] = erster auf den Suchausdruck passender String, hier: "au"
...
ergebnis[1] = String, der auf den Ausdruck in der 1. Klammer passt, hier: (au)="au"
erbnis[2] = String, der auf den Ausdruck in der 2.Klammer passt, hier ist keine 2. Klammer im Ausdruck vorhanden, also undefinded.
...und so weiter, werden neue Elemente an das Array angehängt, wenn weitere Klammern im Ausdruck vorhanden waren.
Dein Beispiel gibt also nur ergebnis[0] und ergebnis[1] zurück.
Wenn Du Deinen Ausdruck so erweiterst: (au)(er), dann bekommst du 3 als Ergebnis
Und damit sich meine authistischen Bemühungen auch mal für die Welt da draußen bezahlt machen, kannst Du ja mal auf meine JS/DHTMl-Seite kucken:
http://dhtml.andreas-lindig.de/javascript/regExp/regExp.htm#a_12
Gruß, Andreas
<img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
http://was-ist-das.andreas-lindig.de