Christoph Rackwitz: regex problem auch eleganter?

Beitrag lesen

Wozu soll das ganze denn gut sein, erscheint mir in der jetzigen Form
sehr konstruiert.
Vielleicht gibt es auch eine Lösung ganz ohne RegExp z.B. mit
count_chars().

Wenn man viel mit Dateien unterschiedlichsten Ursprunges (damit verbunden: unterschiedlichste Dateinamen) zu tun hat, dann ist es recht nützlich, die Dateinamen in ein einheitliches Format zu bringen.
Beispiel:
Old.Enough.To.Know.Better.-.15.Years.Of.Merge.Records.(3CD).-.EAC.LAME(APX).by_FalloutBoy.zip

Dieser Dateiname ist das reinste Chaos. Mit ein paar Regex und ein wenig Algorithmierung kann dabei dies herauskommen:

Old_Enough_To_Know_Better_-_15_Years_Of_Merge_Records_[3_CDs,EAC,LAME,APX,by_FalloutBoy].zip

Dieses Format lässt sich einfach durch Scripte auswerten und somit die Arbeit sehr vereinfachen.

In diesem konkreten Fall hätte das [A-Z]{3} Muster bei "APX" und "EAC" gegriffen. Würde der Dateiname außerhalb der [] noch ein III (römische 3) enthalten, dann hätte womöglich der Algorithmus diese III auch in die [] gepackt und damit den Sinn des Dateinamens zerstört.

Zum Thema: Der Geistige Hohlraum hat die Lösung gefunden, die mir vorschwebte.

Gruß