Learning GREP with InDesign
Illustration by John Hersey

Using repeat metacharacters and defining the shortest match


From:

Learning GREP with InDesign

with Michael Murphy

Video: Using repeat metacharacters and defining the shortest match

The next class of Metacharacters are grouped together under the Repeat submenu in both GREP Styles and Find/Change. Repeat metacharacters will always be used in combination with other metacharacters because all they describe is how often something occurs. When you describe something in a GREP style, it's going to find every instance of that expression no matter how often it appears in a paragraph. That's just how GREP Styles work. So, the best way to show how Repeat metacharacters work and the scope of a Repeat metacharacter is through Find/Change.
Expand all | Collapse all
  1. 1m 33s
    1. Welcome
      1m 4s
    2. Using the exercise files
      29s
  2. 7m 56s
    1. What is GREP?
      1m 53s
    2. Text searching vs. GREP searching
      2m 35s
    3. Working with GREP and InDesign
      3m 28s
  3. 46m 4s
    1. Using metacharacters, the building blocks of GREP
      6m 37s
    2. Escaping out metacharacters
      2m 49s
    3. Building with wild cards
      9m 9s
    4. Understanding undocumented wild card "opposites"
      3m 11s
    5. Specifying locations
      7m 4s
    6. Learning the undocumented location metacharacters
      4m 45s
    7. Using repeat metacharacters and defining the shortest match
      5m 45s
    8. Specifying exact matches and ranges
      2m 52s
    9. Finding content that doesn't exist with zero functions
      3m 52s
  4. 43m 26s
    1. Creating "or" conditions
      5m 24s
    2. Building subexpressions
      5m 52s
    3. Using character sets to create custom wild cards
      7m 3s
    4. Using negative character sets
      3m 2s
    5. Finding around text with lookbehind and lookahead
      8m 1s
    6. Building with modifiers: Case sensitivity
      4m 0s
    7. Building with modifiers: Single-line and multi-line
      3m 10s
    8. Using InDesign-compatible Posix expressions
      6m 54s
  5. 49m 18s
    1. GREP styles vs. nested styles
      6m 10s
    2. Styling specific words or phrases
      3m 18s
    3. Describing inconsistent text
      6m 59s
    4. Describing and styling prices
      6m 55s
    5. Applying multiple character styles to the same text
      6m 8s
    6. Describing and styling email addresses
      10m 48s
    7. Dynamically fixing orphaned words with GREP
      9m 0s
  6. 33m 30s
    1. Adding more to the mix: GREP Find/Change
      1m 41s
    2. Understanding queries
      8m 20s
    3. Using formatting and styles as Find/Change criteria
      5m 20s
    4. Preserving and recalling using subexpressions
      7m 49s
    5. Backreferences in search queries
      3m 8s
    6. Cleaning up text with GREP
      2m 45s
    7. Creating a GREP-based text cleanup script
      4m 27s
  7. 43m 45s
    1. Describing imported spreadsheet data
      6m 56s
    2. Rearranging imported spreadsheet data
      7m 17s
    3. Applying styles and formatting with GREP
      11m 14s
    4. Describing and standardizing phone numbers
      9m 20s
    5. Inserting anchored objects with GREP
      8m 58s
  8. 27s
    1. Goodbye
      27s

Start your free trial now, and begin learning software, business and creative skills—anytime, anywhere—with video instruction from recognized industry experts.

Start Your Free Trial Now
please wait ...
Watch the Online Video Course Learning GREP with InDesign
3h 45m Intermediate Nov 18, 2009

Viewers: in countries Watching now:

Learning GREP with InDesign decodes the language of GREP for InDesign users. It shows how this versatile tool can be used for describing text, which can speed up or automate everyday formatting tasks. InDesign expert and graphic designer Michael Murphy introduces the basic concepts of GREP, and shows how to build powerful expressions using metacharacters. Michael also explores many of the little-known features of GREP, explaining how GREP styles and Find/Change can be used to rearrange data and dynamically format text. Exercise files accompany this course.

Topics include:
  • Using metacharacters, the building blocks of GREP
  • Describing text that may not exist with zero operators
  • Applying multiple character styles to the same text with GREP styles
  • Eliminating orphaned words at the ends of paragraphs
  • Preserving and recalling subexpressions
  • Customizing a GREP-based text cleanup script for long documents
Subject:
Design
Software:
InDesign
Author:
Michael Murphy

Using repeat metacharacters and defining the shortest match

The next class of Metacharacters are grouped together under the Repeat submenu in both GREP Styles and Find/Change. Repeat metacharacters will always be used in combination with other metacharacters because all they describe is how often something occurs. When you describe something in a GREP style, it's going to find every instance of that expression no matter how often it appears in a paragraph. That's just how GREP Styles work. So, the best way to show how Repeat metacharacters work and the scope of a Repeat metacharacter is through Find/Change.

So, I'm going to hit Command+F, or Ctrl+ F on Windows, to open the Find/Change dialog and right now it is opened up in Text mode. And I just want to point out the limitations of text-based searching versus GREP based searching in this instance because text-based searching in InDesign, for a while, has included some wildcards in the Special characters for search menu. If I click that menu and go down to Wildcards, I can describe any digit, which is ^9 in a text-based search.

And if I click Find, it's going to find one digit and then another single digit and another, one at a time. If I want to find two digits, I have to put in another ^9 metacharacter and if I click Find, it will find me a pair of digits, but only a pair. It will no longer find me any single digits and it won't find three digits in a row or more. GREP works differently and the flexibility of how GREP works is extremely powerful. I am going to go to the GREP tab and I am going to put my cursor back at the beginning of this text because that's where I want my next searches to begin.

And I am going to click in the Find what field, go to the Special characters menu at the end, and again, I'm going to pick a Wildcard>Any Digit and I'm going to augment that by adding the Repeat metacharacter, one or more times, at the end of it. That's the plus sign, so this expression now reads as any digit one or more times. If I click Find, I'll find that single digit, 2, but I will also find 2005.

The single digit, 7, 0, this 1, but I will find 499 and 00. So I am finding single digits, double, triple and so on. This GREP expression is far more flexible than what I'm able to accomplish in a Text search even though Wildcards exist in Text searches. There is one thing specific that you need to know about these Repeat metacharacters, however, and about GREP in general. GREP, by its very nature, is greedy.

It's going to find everything. It is like an obedient dog that wants to satisfy you and give you everything you possibly could have asked for. But sometimes that is entirely too much. For example, if I wanted to describe any text that exists within parentheses, I might use the expression any character one or more times and put it in parentheses. That would look like this. I'll delete this, go to the Special characters menu and from the Symbols submenu, I can choose Open Parenthesis Character because I have to escape out any opening or closing parentheses.

They have a special meaning in GREP and in order to look for actual parentheses characters I need to escape them out. So that puts it in as \(. Next, I'll type in a period, for any character, and a plus for one or more times, then backslash, close parentheses. I've just described any character one or more times within parentheses. And when I click Find, here is where the problem is. I'm going to move this over. Notice it's found the opening parentheses and then any character one or more times, but a closing parentheses is also included within the scope of any character, so it kept going all the way through until it found the last closing parentheses it possibly could.

If I move my cursor further up in this paragraph and do that again, you can see just how greedy this is. I will click Find and now it's found everything, from the very first opening parentheses through the very last closing parentheses and this is just too much. In order to rein this in and get just what we are looking for, we need to circumvent GREP's greedy nature and limit that search to what's called the Shortest Match. So I'll move this Find/Change dialog up here so we can see a little better and in this expression I am going to delete the plus after the period, so now I'm just describing any one character within parentheses.

And with my cursor still there after the period, I'll go to the Special characters menu to Repeat, but this time I'll choose One or More Times(Shortest Match) and that puts in a plus followed by a question mark. That means one or more times shortest match. Now I'll click Find and that solves the problem. It's found the shortest match in my description of any character, up until a closing parenthesis. If I click Find Next again, you can see that it's done the same thing for this one price, this one and this one.

It no longer expands that search out as far as it can go when you limit it to the shortest match. So Repeat metacharacters provide a great way for you to broaden or limit the scope of another metacharacter beyond what you can accomplish in a text-based search, but because GREP is greedy by nature and always tries to match as much as possible, it's important to know how to rein in that Repeat metacharacter.

Find answers to the most frequently asked questions about Learning GREP with InDesign .


Expand all | Collapse all
please wait ...
Q: In the “Dynamically fixing orphaned words with GREP” tutorial the author uses the term:
(?<=\w)\s(?=\w+[[:punct:]]+$)
In an earlier course the author described the + (one or more) modifier as unusable in a lookbehind or lookahead i.e. (?<=.+). What's the difference here?
A: The limitation mentioned in an earlier movie referred only to positive lookbehind and negative lookbehind. I was able to use the one or more times (+) metacharacter in the positive lookahead portion of the expression because that limitation doesn't affect either positive or negative lookahead. It's only when looking backward that GREP ignores the repeat metacharacters.
 
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now Already a member? Log in

* Estimated file size

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Learning GREP with InDesign.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member ?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferences from the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.