Apply Regexp to part of a string only

Hi there!
I'm rather new to using mp3tag and I don't know much about regular expressions yet, and here's the problem that keeps driving me nuts:
I wanted to create an action that would insert fullstops after single, double or multiple capital letters (eg. BB King -> B.B. King and Surfin' USA -> Surfin' U.S.A.) and wrote the following:


This would only return B.B King and U.SA. (works fine on singular letters), but fulfill its original purpose when applied twice (well that still is awkward).
The next problem is that some of my files have an extensions to the filename containing information on the origin of the track in brackets like (USA, NY, 1966) which I don't want to be changed at all because U.S.A., N.Y. would look silly and make the filename become too long unnecessarily.
My last attempt was this one:


Which is meant to just add the bracket and its content as $3, but it returns a syntax error. The solution might be to somehow first tell regexp only to apply to the string before the first bracket and then add the fullstops, but I don't know if that is possible at all.

Probably someone has a better idea. Thanks in advance!

Your example string and a slightly modified regexp:
$regexp('BB King and Surfin'''' USA','(\u)(\u|\s)',$1.$2.,0)
B.B. King and Surfin' U.S.A.


This regexp works better ...

$regexp('BB King and Surfin'''' USA #','(\u)(?!\l)','$1.')

BB King and Surfin' USA
B.B. King and Surfin' U.S.A.



Thanks a lot!
When I tested it I also got fullstops behind whitespaces, but this is easily resolved by replacing " ." with " " and still I don't have to run the action more than once to get what I want, so thank you very much.

Now I just need a solution to make regexp apply to the string in front of the opening bracket only. Does anybody have an idea?