Nun, die simple Variante ist, mit mehreren Suchdurchläufen zu arbeiten und in jedem die Stelle zu ändern, die nicht Null sein darf. Also z.B.
Code: Select all
^[1-9][0-9][0-9]{2}[1-9]\..{3}$
^[1-9][0-9][0-9][1-9][0-9]\..{3}$
^[1-9][0-9][1-9](([0-9]{2})|([0-9][1-9]))\..{3}$
Der erste Ausdruck sollte Namen finden, deren letzte Stelle größer ist als Null (z.B. 001). Der zweite Ausdruck findet Namen mit Ziffern größer Null an der vorletzten Stelle (z.B. 010), und der letzte Ausdruck sollte Namen finden, die entweder an nur der drittletzten Stelle größer Null sind oder an der drittletzten und der letzten (z.B. 100 oder 101).
Vielleicht mal bei
www.regexr.com ausprobieren mit den obigen Ausdrücken und Beispieldateinamen. Grade bei dem letzten Ausdruck bin ich mir nicht sicher, ob er das tut, was ich denke.
Grüße
Dalai