gudn tach!
Dann werfe ich mal den in die Runde: .*/(.*?)(?:_\d{3})?.[^.]*
.*/ sollte gierig alles bis zum letzten '/' matchen
macht es auch, zunaechst. aber falls der kram danach nicht matcht, wird zum vorletzten slash gesprungen, usw.
deswegen wuerde bspw. bei
"http://www.domain.de/abc/xyz/dateiname"
der string
"www"
zurueckgeliefert, was nicht unbedingt gewollt ist. (kann natuerlich auch sein, dass sowas gar nicht vorkommt, dann waer's eh egal.)
.[^.]* letzter '.' und danachfolgende Zeichen
[^.]* matcht immer, kann also auch einfach weggelassen werden. oder man verlangt, dass danach der string zuende ist.
ich schlage deshalb etwas restriktiveres vor wie z.b.
~.*/(.*?)(?:_\d{3})?.\w+\z~
oder
~([^/.]*?)(?:_\d{3})?.\w+\z~
prost
seth