What in the world is General Regular Expression Print (GREP)? Wikipedia defines it as "… a command line utility that was originally written for use with the Unix operating system. Given a list of files or standard input to read, GREP searches for lines of text that match one or many regular expressions, and outputs only the matching lines."
In other words… GREP is a way to a take InDesign's Find/Change to a whole new level. Got a problem in a document that you can't fix with a basic find and replace? Try GREP.
For example, the en dash is commonly used to indicate a closed range of values, such as those between dates, times, or numbers. As Jennie Ruby once told me, use an en dash when you would say the words "to" or "through", as in "see pages 14-20 in the reference guide." So what do you do when your writers use hyphens between digits instead of en dashes? You certainly can't just search for all hyphens and replace with en dashes (you'll mess up all the hyphenated words).
Find/Change Text comes so close. You can use the special character list to search for any digit, an en dash and any digit, but there's no way to replace the digits.

Enter GREP. You can enter in a fairly simple GREP query that will find all Arabic numerals with a single hyphen and change those hyphens to en dashes. Don't forget to save the Query so that you can use it again and again!

Intrigued? The best resource I've found so far is "GREP in InDesign CS3" by Peter Kahrel. You can purchase his 47-page PDF document here. It offers clear explanations and numerous examples of common searches.
About the author:
Barbara Binder is the president and founder of Rocky Mountain Training. Barbara has been a trainer for nearly two decades and was recently recognized by Adobe as one of the top trainers world-wide for 2007. Barb will be your trainer for our virtual Adobe FrameMaker 8 and InDesign CS3 classes.