Reg expression to change characters within brackets '[ ]' to uppercase?
-
Hi,
I’m having trouble coming up with a reg expression for the replace option for the following scenario:Would like to replace all lowercase characters with brackets to uppercase.
i.e. array[enum1_name] becomes array[ENUM1_NAME].
I’ll defer to the reg expression experts out there.
Thanks!
-
Find what:
\[([^]]*)\]
Replace With:[\U$1\E]
Finds everything between
[
and]
, inclusive, saving the stuff between the brackets as$1
The\U
and\E
say to make everything between those two escapes uppercase. Thus\U$1\E
uppercases everything in$1
.EDIT: that assumes you don’t have nested brackets, like
outer[ inner[ ENUM_HERE ] ]
. If you do, you’ll have to define some rules for what’s allowed and what isn’t, and what needs capitalizing and what doesn’t. -
Thanks so much! Worked like a champ! Over 750 replacements in one file alone. What a time saver.
-
Hi, @kurt-ehrhardt, @Peterjones and All
Ah, already solved, nice :-)) So, just for fun, an other formulation could be :
SEARCH
\[.*?\]
REPLACE
\U$0
Note, Kurt, that the two search regexes, from Peter and me, would match a “multi-lines” square-bracket block, too, as, for instance :
array[ENUM1 _NAME]
Thus, to restrict to a single-line square-bracket block, the Peter’s search regex should be changed into :
SEARCH
\[([^]\r\n]*)\]
And mine should be written :
SEARCH
(?-s)\[.*?\]
Cheers,
guy038
P.S. :
Note that replacement case operations occur, only, with classical letters in range
[A-Za-z]
Unfortunately, for Non English-American people, this does not work, at all, for accentuated letters :-((