RegEx bekomme immer Null

Jan-Frederik Stieler

Monsterator
Moderator
Hallo,
ich habe gerade mit Regex angefangen mich zu beschäftigen und hab noch ein wenig Probleme :).
Z.B. verstehe ich nicht warum ich bei diesem Beispiel http://jsbin.com/jizeg/2/edit immer null bei .lastIndex rausbekomme?
Auch wenn ich den regulären Ausdruck auf eine einfach Variante umstelle, z.B. /test/ kommt immer nur null raus.
Ich mache irgendwas grundlegendes falsch und komm nicht dahinter.
Als Doku hab ich das hier verwendet: https://developer.mozilla.org/de/docs/JavaScript/Guide/Regular_Expressions

Grüße
 
Hi

lastIndex ist nicht der Arrayindex vom letzten Vorkommen eines passenden Texts in der Variable,
falls du das suchst. Und da deine Expression auch kein g hat...
lastIndex: Der Index bei dem die nächste Suche nach einer Übereinstimmung gestartet wird. (Diese Eigenschaft wird nur gesetzt, wenn im regulären Ausdruck die Option "g" verwendet wird, wie unter Advanced Searching With Flags beschrieben).
 
Hi,
okay, das mit dem g für global hatte ich irgendwie überlesen gehabt.
Wenn meine Expression nur /#/g hat mit .lastIndex dann bekomme ich eine Ausgabe von 22.
Das heißt es wird jedes Zeichen im Array abgespeichert und dann die Position des Zeichens ausgegeben.
.exec soll aber doch ein Array mit den Übereinstimmungen (Plural) zurückgeben. Verstehe ich da was falsch?

Mit .match bekomm ich zwar genau das was ich brauche, mich würds aber trotzdem interessieren?

EDIT: hier nun was ich bisher hinbekommen habe. Wenns interessiert :).
http://jsbin.com/jizeg/8/edit

Grüße
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück