and replaced the red character with [, " and ' with no consistent success.
For example the above regexp produces this:
The 'torchum' Never Stops -> The 'Torchum' Never Stops <- which I want.
The Massive Improve'lence -> The Massive Improve'Lence <- which I don't want.
Your action could not possibly work as \U in the replace is not how you go about doing this. It only works to find a non-upper case character anyway.
See https://docs.mp3tag.de/actions/replace-regexp
The problem seems to be the punctuation mark "Apostroph", which is a word delimiter.
Therefore it is not so easy to code a lookbehind or lookahead.
But there is a workaround, which can help quickly.
For the capitalization use the function $caps2() and subsequently do the trick using the function $regexp().
Action #1Actiontype 4: Replace with regular expressionField ______________: _TAGRegular expression _: (\B|^)(\(|\[|"|')(.)Replace matches with: $1$2$upper($3)[_] Case sensitive comparison
End Action Group _Script Test#TEST (1 Action)
Resulting in:
(the [torchum' "never 'stops blank(the[torchum"never'stops >>>> (The [Torchum' "Never 'Stops blank(the[torchum"never'stops
by breaking up the different parts like not a word boundary OR start of string / (["'' / any one character to capture as $1, $2 & $3 (changed to upper-case) it seems to work. If you don't separate them like this you get unwanted results.
Plus one thing with using the action 'replace with regular expression' you can affect _TAG (All tags) like the example above whereas with the format action you can't.
Anybody know why mp3tag doesn't pick up the start of the string '(the [torchum' "never...' by using the \B. My fix was to put in a '|^' to fix the problem.