Michael Schröpl: Meine Suchroutine findet nur Dateiendungen !

Beitrag lesen

Wenn ich als Suchbegriff zum Beispiel self eingegeben habe hat mein regulärer Ausdruck /.self draus gemacht, obwohl gar kein Punkt in meiner Eingabe vorkam.

Dein Ausdruck ersetzt das erste Zeichen (in der Suchzeichenkette ist "." eine wildcard) durch "." (denn in der Zielzeichenkette ist "." offenbar keine wildcard mehr).

Kannst Du mir Deinen reg. Ausdruck vielleicht nochmal genau erklären ?

Ich ersetze einen Punkt "." durch das, was in dem regulären Ausdruck später drin stehen soll, nämlich zuerst einem "", den ich hier aber escaped darstellen muß "\", und dann einem Punkt, den ich sicherheitshalber ebenfalls escaped dargestellt habe ".". Letzteres war vermutlich gar nicht nötig.

Dein Problem war, daß Du den Punkt auf der linken Seite nicht escaped hast. Deshalb machte der regular expression seinen Treffer auf ein beliebiges Zeichen gleich am Anfang der Zeichenkette und fügte "." deshalb ganz vorne ein.