do you really use V2.36? I am not quite sure whether my advice is valid for that version, as the current version is 2.49.
Coming to your questions: If you try to rename files then the converter Tag - Filename or Filename - Filename would be suitable. Or an action. Why a regular expression?
You do not have to apply the conversion one by one if you filter your tracks first.
e.g. if you have
- - -
then the filter would be:
%_filename% MATCHES .-.-.-.
With the converter filename - filename and the pattern
%1 - %2 - %3 - %4
and the output pattern
%1\%4 - %3 (%2)
you get it.
But, looking at your output examples, you do not seem to be sure what to do with the "extra" you have to find the right pattern.
BTW: why don't you simply apply the converter Tag - Filename in a brute force action.
If you know what the "extra" is, you could use the square brackets to include optional data:
%artist%\%year% - %album%[ ()]
Or don't you have the data stored in your tags? The I would seriously think about importing that first.
Regarding the version, it must have been set at the first registering.
Not all the files have tags, I have 2 cases I need to handle through one expression (see, " - " is some data, almost never the same, so I can't make a clear pattern) because there are about 128 gigs of mp3s with many albums coming in some of the 2 forms explained.
I've already managed to have one expression to catch the two patterns, but mp3tag says it converts 0 of 2344 cases, although it makes the changes properly. This confused me
What I couldn't do is the replacement when "extra" stuff is missing.
I get "()" in the result, but I could do a proper rename by looking for and removing the "()".
I actually move the files on a pattern like -> <artist\sound\mp3\year - album>.
Mp3Tag is great, although I would prefer a GPL one like puddletag (which claims to be a clone of Mp3Tag) and I plan to move to linux entirely. I do prefer the approach of EasyTag as GUI also.