Look Ahead: Match Selectively
You’re working on a document with lots of graphs. The text contains many references to these graphs in the form of Figure followed by the relevant number. The publisher wants those references in bold—just the word Figure, not the number. It is easy to find these instances: just search for Figure \d. To apply the necessary formatting, specify bold in Change Format. But now you have a problem: the numbers appear in bold as well—this is not what we want. What we need to find is not Figure and a following number, but only the word Figure if it is followed by a number. This can be done with the following expression:
Find what: |
Figure(?=\s\d) |
Change to: |
<leave empty> |
Change format: |
Bold |
Try this expression and check that InDesign selects instances of Figure only when it is followed by a digit, and that it does not select that digit. (It won’t select the space between Figure and the digit either, as we included that space in the parenthetical.) Naturally, to cope with references such as in Figures 5 and 6 we have to allow for Figures, which is easy: just add s?: Figures?(?=\s\d).
The construct we used here is called “positive lookahead,” and can be selected from the Match flyout. Its general format is (?=); after the = symbol any regular expression can be used. We’ll see more examples soon.
In some cases, typically when you don’t need to apply formatting, you can choose between lookaheads and other approaches. For example, to change figure to
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access