Hi codyd, welcome.
Do you use XYplorer to rename?
FROM:
A Clockwork Orange - Anthony Burgess.epub
TO:
Anthony Burgess - A Clockwork Orange.epub
Match all till an dash followed by an space ==> "(.+) - "
Match the rest ==> "(.+)"
till an dot and the extension ===> "\.(.{3,4})"
Swap the order ==> "$2 - $1.$3"
Use XYplorer RegExReplace...
(.+) - (.+)\.(.{3,4}) > $2 - $1.$3
----------
Also is there a way to
remove anything between two brakets? Like:
FROM:
Zoey Dean - [A-List 06] - Some Like It Hot.epub
TO:
Zoey Dean - Some Like It Hot.epub
Match all till an [ ==> "(.+)\["
Match all till an ] space dash space ==> ".+] - "
Match all to the end ==> "(.+)"
New output ==> "$1 $2"
Use XYplorer RegExReplace...
(.+)\[.+] - (.+) > $1$2
EDIT:
General notes/ Disclaimer
Hope this helps ?

If yes, please help two others too. And consider an donation to the tools autor.
Please note:
Always don't trust me! Test with test files first!
* Usually i do a few tests on this issue only!
* So please test my solution with some test files first before you destroy your data.
RegEx is an pattern matching solution, so all your files have to fit into the same pattern.
If they not, you have to separate them and run some more actions against them.
BTW: the terms "RegEx" or "RegExp" or "RE" are the abbreviation of this pattern matching concept (Regular Expressions)
and also used to call the regex pattern thyself.
My solution depends on the quality of your examples.
* It's always an good idea to provide all possibilities of file name pattern in question.
* That would give the supporter an change to do it right

* If your real file names doesn't fit into your example pattern my solution may fail.
So provide us always real live examples of your file names. (Of course you can sophisticate your secrets)
Hint:
* Don't use this ' ' or " " -quotes from my explanation. They are only for clarification.
* '?' means non-greedy: stop at first match, instead of last possible.
* This (...) parenthesis are used to "group" what is found by this RegEx inside the ( )'s
to reuse this capture later as replacement by using \1 or $1 (depending by the regex engine).
* Instead of ~ -signs, if used in my explanations, type an space/blank.
* This signs are RegEx Metachars =>
[\^$.|?*+(){} <= and have to
be escaped by an leading \ backslash if you want to match this sign itself and suppress their special meaning.
DIY:
To find your own solution you have to virtual (in mind) split your file names/strings into parts
following the rules of the regular expression syntax, see the help file coming with your application.
(Please note that there are several flavors of RE engines and also different implementations into apps
and even different ways of doing or thinking, so your experiences may differ from my explanation)
Once you have split your string into parts you can decide which to use into replacement by grouping the pattern
into (...) parenthesis to which you can refer by using "\1" or "$1" signs later, or which to drop and which to modify.
See the XYplorer Wiki for more about RegEx =>
http://88.191.26.34/XYwiki/index.php/Re ... xpressions
More Help
* Online tester:
-
http://rereplace.com/
-
http://www.regextester.com/
-
http://www.regexlib.com/RETester.aspx
* Online help:
-
http://www.regular-expressions.info
-
http://www.regexlib.com/
-
http://www.regexlib.com/CheatSheet.aspx