Skip to Content
GREP in InDesign CS3
book

GREP in InDesign CS3

by Peter Kahrel
October 2007
Intermediate to advanced
47 pages
1h 12m
English
O'Reilly Media, Inc.
Content preview from GREP in InDesign CS3

Advanced Techniques

The techniques used in the expressions illustrated in this Short Cut are all frequently applied. In this section we show a rather less common technique, and though you'll probably need it less often than the types of expression discussed earlier (if at all), it can be useful to have these advanced methods in your arsenal. We'll give a few examples.

Suppose you want to match a word, say quick, and, if it occurs in square brackets, those brackets as well. You define this strictly: either two brackets or none. So you want quick and [quick], but not [quick and . . . or pretty quick]. Some experiments show that alternation, \[?quick\]?, isn't any good because it would give you quick with just the opening or the closing bracket as well. So we're looking for something like "match the closing bracket only when there was a match for the opening bracket"—in other words, a match is made conditional on an earlier match. You can write this as a regular expression as follows (the conditional is underlined):

(?x) (\[)? quick (?(\1)\])

What happens is this: with (\[)? we try to match an opening square bracket; the question mark indicates that the expression may or may not match. Then it matches quick. Then follows the conditional: (?(1)\]) paraphrases as "if there was a match for the first capturing parenthesis—in other words, if quick is preceded by a bracket—then try to match a closing bracket now." If there was no match before quick, a match won't be attempted after it. The ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

GREP in InDesign

GREP in InDesign

Peter Kahrel
Adobe InDesign CS5 On Demand

Adobe InDesign CS5 On Demand

Steve Johnson - Perspection, Inc.

Publisher Resources

ISBN: 9780596517069Errata