Andreas-Lindig: Reguläre Ausdrücke - Was sagt und dieser reguläre Ausdruck?

Beitrag lesen

Hallo Forum,
ich bschäftige mich seit einer Woche mit regulären Ausdrücken und bin begeistert. Nur stoße ich immer wieder auf Details, die ich nicht verstehe - dieses Beispiel habe ich aus einem Buch, und es funktioniert auch genau wie beschrieben - nach meiner Logik dürfte es das aber nicht:

Aussage = "Weint meine kleiner Sonnenschein ?" <- Ausgangsstring
Ergebnis= Aussage.match(/ei.[+ˆ\S]/g)           <- Suche liefert Array

wenn man nun die Elemente von 'Ergebnis' ausgibt erhält man:

eint
eine

hä?,
Ich lese den regulären Ausdruck so:

suche 'ei', gefolgt von einem beliebigen Zeichen (außer \n), gefolgt von: entweder nochmal beliebig oder einem nicht-nicht Whitespace (also  ein Whitespace)

1. Warum bekomme ich ein anderes Ergebnis, wenn ich '\s' statt 'ˆ\S' in der Zeichenklasse schreibe ???
2. Warum findet der Ausdruck nicht:
eint
ein <-ein Leerzeichen
eine
ein <-ein Leerzeichen

vielen Dank für Hilfe und Gruß, Andreas
http://extra.andeas-lindig.de/was_ist_das_extra.htm