Lookaround
Lookaheads and lookbehinds can be combined in what is called “lookaround.” This isn’t provided as a selection in InDesign’s interface, reasonably, because you can simply select lookbehind and lookahead. Some examples follow.
Match Words Wrapped in Certain Characters
To italicize all words in a document that occur in double quotation marks but not the quotation marks themselves, use this query:
Find what: |
(?<=")[-\w]+(?=") |
Change to: |
<select italics at Change Format> |
Keep Certain Words Together
In Polish typography, the single-letter prepositions w and z (both are general locative prepositions meaning “in”, “at”, and “by,” and “from”, “off”, respectively) shouldn’t be separated from the following noun or adjective. The neatest way to format them is to replace the space between the two words with a variable-width nonbreaking space, which can be done as follows:
Find what: |
(?i)(?<=\b[wz])\s(?=\w) |
Change to: |
~S |
Broken down: |
|
(?i) |
ignore case |
(?<= |
start lookbehind |
\b[wz] |
w or z at the beginning of a word |
) |
stop lookbehind |
\s |
any space |
(?=\w) |
a word character |
We use the case-insensitive modifier so that W, w, Z, and z are all found. The find expression matches spaces that are preceded by w/W or z/Z and followed by any word character. We need to specify the word boundary \b in the lookbehind, of course.
The expression given here for Polish can be useful in English, too, to satisfy the demands of publishers who don’t want I (the first-person ...
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