Sentence case conversion issue

Could anyone help? I'm trying to convert the title field in sentence case, but want to create exceptions for things like . ( and -. So the title needs to look like: Introduction. Allegro non troppo. Or: Variation 23 (Andante con moto).

Any ideas?

Please show us a real current TITLE content and the exact result you want to achieve.
We need to see the differences that you want to convert.

Do you mean for TITLE:
The first character always in uppercase, everything else in lowercase.
Exceptions: After a dot . or opening parenthesis ( or a hyphen - should the next character (or the second if it is a space?) be in uppercase too?

I can't show examples and I don't really need to. If my current title is All Like This, I want an action that makes a title field look like: Allegro vivace - Andante. Quasi allegretto. So basiclaly sentence case which is reset after . - (

The problem is the usually following space. So the real pattern would "dot space", "minus space" - and just the plain parenthesis.

Here is an example to get an upper case following the dot and the colon:
$regexp($caps3('Allegro non troppo. Or: Variation 23 (Andante con moto)',),'(\.|:) (\w+)',$1 \u$2)

Which leads to:
Allegro non troppo. Or: Variation 23 (andante con moto)

If the OP wants the first character after an opening parenthesis also to be in uppercase, they could use something like this:

$regexp($regexp($lower(%title%),'(^|\. |\(|: )([a-z])','$1\u$2'),'\bkv\.','KV.')

This would convert the example
ALLEgro Non Troppo. or Variation 23 (andante CoN MoTo: alLEgro, kV. beta)
into
Allegro non troppo. Or variation 23 (Andante con moto: Allegro, KV. Beta)

The two regular expressions are needed for the following reason:
First, the entire TITLE content is converted to lowercase.
Then any lowercase letter \[a–z\] that appears at the beginning of the string, or directly after . or ( or : is capitalized using \u
Finally, the isolated word kv. (matched via \bkv\.) is replaced with KV.

Note:
It would be too complicated also to include other collection abbreviations like Op. or BWV (Bach) or Hob. (Haydn) or WoO (Beethoven) and many more.