Ich weiß nicht, ob es einfacher geht, aber eine Möglichkeit wäre so (sprich 5 Gruppen mit Zahlen, X und / gefolgt von - oder _ und dann die Zahl, die dich interessiert):
Code:
POST_([0-9X\/]*[\-\_]){5}([0-9]*)\-Lieferschein\.tif
Was davon noch variabler sein muss, müsstest du schauen.
Ich weiß nicht, ob du das kennst, aber es gibt auch Testseiten wie diese:
https://regex101.com/
wenn man das X gegegn A-Z tauscht, geht es (mit XX meinte ich, dass da Buchstaben stehen), den Originaldateinamen kann ich ja wegen Datenschutz nicht zeigen
das sieht dann so aus:
Code:
POST_([0-9A-Z\/]*[\-\_]){5}([0-9]*)\-(?i)Lieferschein\.(?i)tif
Zusätzlich habe ich Lieferschein und tif noch case-insensitive gemacht.
So?!
Code:
-([0-9]{6})-Lieferschein.tif$
So hat man gleich alle Gruppen (7 Gesamt):
Code:
POST_([0-9]{9})_([0-9]{8})_(XX[0-9]{6})\/([0-9]{2})-([0-9]{4})-([0-9]{9})-([0-9]{6})-Lieferschein.tif$
Das scheint mir zu statisch, weil Die Längen der Zeichenketten immer fix angegeben sein müssen. Das kann ich aber nicht beinflussen, das kommt von Extern und wenn deren Rechnungsnummer zum Bsp. ein Teil der Zeichenkette ist und die von 3- auf 4-stellig wechselt, dann passt es schon nicht mehr.