I currently use a GREP style, "\w-\w" to catch all hyphenated words such as "4-year" or "end-to-end" but I'm not entirely confident as to how robust it is and where it might fail and catch something unintended. What winds up happening is InDesign catches 4-y" or "d-to-d" and applies my no break style to the text. While this seems to be working fine, I'm about to apply this to a MUCH longer document and I want to make sure I'm not going to encounter any unforeseen issues because this seems too expansive a search for GREP to work with. Does anyone have a snippet they use all the time to handle this sort of thing?
Why not test your text with a GREP search first? If that seems fool-proof, allow it to become a GREP style.
Why a no-break over hyphens? There is a non-breaking hyphen for that.
You can use GREP to find-and-replace: search for "(?<=\w)-(?=\w)" and replace with .. uh, the GREP code for a non-breaking hyphen. (Look in the "@' dropdown menu.)
The advantage is that if it gets applied to something unexpected, you can simply replace that instance with a regular hyphen.
Did you ever get confirmation about this? I use the same style but after Googling there seems to be a lot of more complicated GREP styles which makes me wonder if my simple style is not adequate.
Why not just apply the GREP style and see what happens? You can use Find/Change to search for the character style and see where it is applied. You can also alter the style to include a highlight colour to make instances easier to spot.
See, even if someone gives you the answer you are looking for, I hope you would check to see that it accoomplished what you want. How do you plan to do that without checking the entire document?