Hallo Forum,
Ich soll einen Dateinamen aufsplitten dafür ist Regex doch wie geschaffen doch irgendwie schaffe ich es nicht den String zu zerteilen.
Zu meinem Problem...
Ich habe zb.: Dateien wie unten angeführt Die erste Ausgabe ist Standard es kann aber auch vorkommen das die gleiche Datei im Format zu Punkt 2 erstellt wird.
91251.00 5776501_20_2025-07-24_T06-41-10.csv91251.00 5776501-020_20_2025-07-24_T06-41-10.csvFolgender Regex funktioniert zu Punkt 1
wenn ich nun den Teil mit duplo erweitere geht gar nix mehr aber wenn ich den Regex alleine anwende funktioniert dieser bedingt zumindest laut Regex101
((?(?=-\G[0-9]{3})|_(?'duplo'[0-9]{1,3})))
Das was ich erreichen möchte ist praktisch in den Regex eine if-else einzubetten wenn -020_20dann die Zahl hinter dem Unterstrich.
Kann mir da jemand helfen BITTE
^(?'wznr'[0-9]{5}.[0-9]{2})\s(?'toolnummer'[0-9]{7,8})(?:(?:-[0-9]{3}_)|(?:_))(?'duplo'[0-9]{1,3})_(?<date>.{10})_T(?'hour'.{2})
Den Unterstrich vor der duplo Gruppe habe ich durch das hier ersetzt:
(?:(?:-[0-9]{3}_)|(?:_))
Matche entweder:
(
)
oder
(
)
Edit:
Solltest du bereits die komplette Anforderung beschrieben haben, brauchst du eigentlich kein Entweder-oder und kannst einfach das `-20` optional vor dem Unterstrich von duplo matchen: (?:-[0-9]{3})?
^(?'wznr'[0-9]{5}.[0-9]{2})\s(?'toolnummer'[0-9]{7,8})(?:-[0-9]{3})?_(?'duplo'[0-9]{1,3})_(?<date>.{10})_T(?'hour'.{2})