gudn tach!
Wenn du bis zu einem Wort suchen willst musst du
/^.*?Wort/
wenn du bis zum letzten vorkommen von einem Wort suchen willst musst du
/^.*Wort/ schreiben.
wenn "Wort" wirklich bloss so ein simpler string ist, sind haeufig gewoehnliche string-positions-funktionen die bessere wahl, also sowas wie
substring(0 bis position("wort" in string)-1 von string)
wenn "wort" komplizierter, also selbst wieder ein regexp ist, dann gibt es uebrigens auch neben den bereits genannten moeglichkeiten noch "zero-width look-ahead assertions", vor allem im falle von suchen-und-ersetzen sind die nuetzlich.
beispiel:
/^(.*?)[fF]oo/
speichert alles, was vor dem ersten "foo" oder "Foo" kommt in $1.
soll das alles ersetzt werden, ohne dass "foo" bzw. "Foo" angetastet werden, dann kommen die "zero-width look-ahead assertions" zum einsatz:
s/^(.*?)[fF]oo/$1/
wuerde naemlich "foo" bzw. "Foo" ueberschreiben.
s/^(.*?)(?=[fF]oo)/$1/
wuerde ebendies nicht tun.
prost
seth