There was no regexp involved, this was just plain use of your given tagfield names and two functions $if() and $ifgreater() and your given logic.
I know that the TRACK tag field can be formatted as 'n' (track) or somewhat like 'nn/nn' (track/totaltracks) (so DISCNUMBER too), but you've said that you have properly filled tags on which you have referred going along with your description.
And I thought you are familiar with Mp3tag and tagging in general, so you should know that a DISCNUMBER tag field is a user field, that you have to fill in with proper values (so far as I know).
Avoid such filenames, I do not think that they are sortable in correct order.
You may play around with the following actiongroup.
Begin Actiongroup TEST
Action #1
Actiontype 5: Format tag field
Field: TMP_RF
Formatstring: O:\TEST\ROOTFOLDER
Action #2
Actiontype 5: Format tag field
Field: TMP_T
Formatstring: $regexp(%track%,0*(\d+)/0*(\d+),$1)
Action #3
Actiontype 5: Format tag field
Field: TMP_TT
Formatstring: $regexp(%track%,0*(\d+)/0*(\d+),$2)
Action #4
Actiontype 5: Format tag field
Field: TMP_D
Formatstring: $regexp(%discnumber%,0*(\d+)/0*(\d+),$1)
Action #5
Actiontype 5: Format tag field
Field: TMP_DT
Formatstring: $regexp(%discnumber%,0*(\d+)/0*(\d+),$2)
Action #6
Actiontype 5: Format tag field
Field: TMP_FN
Formatstring: $if(%composer%,%TMP_RF%\%composer%\%year%\%filename_ext%,$ifgreater(%TMP_DT%,1,%TMP_RF%\%artist%\%album%÷'('%year%')'\D.%TMP_DT%.%TMP_D%''T.%TMP_TT%.%TMP_T%'_'%filename_ext%,%TMP_RF%\%artist%\%album%÷'('%year%')'\T.%TMP_TT%.%TMP_T%''%_filename_ext%))
Action #7
Actiontype 5: Format tag field
Field: _FILENAME
Formatstring: %TMP_FN%
Action #8
Actiontype 9: Remove fields
Fields to remove (semicolon separated): TMP_RF;TMP_T;TMP_TT;TMP_D;TMP_DT;TMP_FN
Note: Replace one special character ÷ with one space character.
End Actiongroup TEST (8 Actions)
DD.20080319.1621.CET