Find a patern and replace values

I use mp3 tag to do my music each week and have wrote a lot of expressions to make things quicker for me but now i would like to take that to the next level and fully automate a script to do all my music in one go. I know its alot to ask.

these are the regular(weekly) things i have to do all changes are made to the title

1
After Hours - KREAM Remix ---------> After Hours ( KREAM Remix)

looks for the fact it has a - and not a ) at the end then implements them

2
Alcoholic - DJ City Club Edit (Clean) ----------> Alcoholic ( DJ City Club Edit (Clean)

looks for the fact it has a - and a ) at the end then implements the -

3
Lost Your Mind (intro - Dirty) -----------------> Lost Your Mind (intro Dirty)
looks in between brackets and if theres a - deletes it

Sometimes there can be tracks that would conflict with some rules that could be wrote e.g

Rock Wit U (Awww Baby) - Charlie Lane Remix

Then i would convert title to Filename

them i would delete all extended tags including the Cover except for

Title
BPM
Genre
Title
Year

I would keep as much information as I could, esp. the covers as it is a very time consuming task to restore them.
Why do you keep the TITLE twice?
I still have other questions: is it correct that you want 2 opening brackets and just 1 closing:

Then I would use unique separators between the different data types, e.g. an Edit or a remix is something different than grading it "clean".
The actions are all of the type "Format value" for TITLE and can be part of an Action group for all 3 cases

Case 2 could be treated as follows:
$regexp('%title%',(.*) - (.*) (\(.*\)),$1 ($2) $3)
then treat case 1:
$regexp('%title%',(.*) - (.*),$1 ($2))
and finally case 3
$replace('%title%', - ,') (')

BlockquoteI would keep as much information as I could, esp. the covers as it is a very time consuming task to restore them.
Why do you keep the TITLE twice?

yes delete the covers
i have the filename same as the title i would like to delete all other tags except (keeping)
Title
BPM
Genre
Title
Year

Blockquote I still have other questions: is it correct that you want 2 opening brackets and just 1 closing:

yes this is correct

BlockquoteThen I would use unique separators between the different data types, e.g. an Edit or a remix is something different than grading it "clean".

Unfortunately this is the way i receive my music so to edit all the information i get would take up even more time

This is getting philosphical.
While you have at least some separators between the different kinds of information right now your current approach removes even these bits even though they could be used to help to separate the individual pieces into defined parts of a string.
E.g. Alcoholic - DJ City Club Edit (Clean)
would look much nicer (IMHO) as
Alcoholic [DJ City Club Edit] {Clean}
just like
After Hours [KREAM Remix]
and
Lost Your Mind (intro) {Dirty}
where "intro" is really part of the title as it does not describe the version (edit, remix, rework, album version, single edit etc.) and it is no grading. I think there is even a tag field for this information:
https://help.mp3tag.de/main_tags.html#rtng
so it should not be part of the title at all.
I also would like to point out that the brackets are frequently part of the title string (e.g. Pink Floyd: Pigs (three different ones)) and are therefore no good separator for the other data that I mentioned above.
I wonder why you want to delete the information about ALBUM and ARTIST. And I still don't get how you want to save TITLE twice.

Arr right typo there yes that first title was supposed to be artist those are the tags I wish to keep

And as for changing all the individual parts my music collection is over 15 years old and I get about 30-50 tracks per week so to redo my whole collection is not really a viable option and most of those special characters would not show up on certain cdjs etc and the bracket situation that I have is the best way to view on certain cdjs and in dark environments

There is an action to remove fields except those in a list.
See the help:
https://help.mp3tag.de/options_format.html#removeex

Cool thanks the idea of this was to generate one script that could do the whole job (all my steps in one go) with all filters as well can you run stages in the actions