In a way, this is an InDesign post. My only excuse for posting here is there may be some implications for OT features. And that a bunch of you have greater skill writing regular expressions . . .
* * *
It always bothers me when full caps aren't letterspaced, or are set with old style figures. The latter can happen with newspaper section page references (e.g., C2), U.S. Interstate highways (e.g., I-85), and other things (e.g., Box 42A) etc. -- usually in notes/references/bibliographies.
Some would say just set the full caps as small caps. Well, finding them is still a chore, and some publishers prohibit small caps in backmatter (notes, references). This isn't as bad an idea as some might think. Additionally, some construction, (e.g., Interstate I-15) don't work well with small caps & o.s. figs.
For my purposes, it's enough that some publishers banish small caps in the backmatter, though I hope I've shown there are other reasons for an automated solution. And there is the matter of letterspacing full caps, just like small caps.
Now with InDesign, a grep style could do this. Problem is how to write it. At fist glance, it would seem that anything within word boundaries that doesn't have a lower case letter would qualify. But no, straight numbers would then qualify, and that's no good. What's needed is
1. There must be at least two letters.
2. There must be at least one cap.
3. There can be no lowercase letters.
4. At least some punctuation should be allowed -- period, hyphen, slash, quotes, maybe parens and brackets . . .
5. Numbers should be included.
You cannot assume that a cap starts the string. It would also be nice if, say, US$100 did not qualify.
Anybody think of other inclusions/restrictions?
* * *
As I envision a grep style rather than a grep search, one could use more than expression.
Since you'd be calling a character style, everything could be hand-coded there -- letterspacing and figure style being primary. But if *cpsp* and *case* were adequate in the font, a lot of niceties would come along for free.

