Nun ja, ich verwende diese Funktion schon ewig, indem ich im Rahmen einer grossen, kompakten Kombiänderung das Tag-Feld %_FILENAME% mittels dem String "..\Verschobene Daten\%_FOLDERPATH%\%_FILENAME%" formatiere.
Das Thema hatten wir schonmal: Bereits existierende Dateien erzeugen einen Fehler und fallen dabei raus.
Der verschobene Ordner wird dann der neue Ordner.
(Ich bin der McGuyver mit dem Radiergummi und der Kaffeetasse auf der i-Taste) 
Aber lange Rede, kurzer Sinn - warum funktioniert es dann nicht auch bei "$regexp($regexp($regexp(%_PARENT_DIRECTORY%,'\d+',' $0 '),'\s+',' '),'^\s+|\s+$',)"?
Bei "$regexp($regexp($regexp(%_DIRECTORY%,'\d+',' $0 '),'\s+',' '),'^\s+|\s+$',)" geht es einwandfrei.
Mal meine Struktur (wie sie vermutlich die Meisten haben werden):
Alben:
M:\U\10CC\1989 - The Best Of 10 CC\01 - 10 CC And Godley And Creme - An Englishman In New York.mp3
Singles liegen stattdessen eine Ebene höher, ohne Tracknummer:
M:\U\10CC\10 CC And Godley And Creme - An Englishman In New York.mp3
Mit "Deinem" String wird "10cc" im Directory zu "10 cc", im Parent-Directory aber nicht.
Existiert aber im Parent eine Single, dann geht es einwandfrei, das ist aber natürlich nicht immer der Fall. :-/