Your image is no good, since this
does nothing at all. From your descripton I gather you tried something like this
and that *will* work ... as long as there are only lowercases between the dash and the comma.
You cannot selectively apply your style to just the lowercases between dash and comma, it's an all or nothing affair. Since you seem unhappy with applying small caps to all text in between (why?), you can work around it this way.
Apply the SC style to everything in between but *then* immediately add another line resetting "regular" font for characters that are not lowercase. This ough to do that:
applying a char style that clears the small caps again. It will be applied to the entire paragraph, but that probably should not matter. You can still apply that italic style in the next line, since GREP styles are applied first to last.
Thanks for the help. You led me in the right direction.
I was getting too complicated and I still don't have a firm grasp on what GREP can and cannot do.
I solved the problem with the following GREP styles:
The reason that I can't apply sc to the entire first line is because the typeface I'm using is old and includes an expert set. In the expert font, there are only small caps. Uppercase keystrokes are reserved for factions, currency symbols and other non-standard glyphs.