GREP search: change style within parentheses

Participant ,
Jul 23, 2022 Jul 23, 2022

Copy link to clipboard

Copied

I have a document that includes long lists of names, many of which are followed by words in parentheses that need to have a certain character style applied (but the parentheses remain unstyled). Several years ago I asked if there is a GREP search that can accomplish this, and I received an answer from Nigel Chapman that worked:

 

Because you want to exclude the brackets from the matched string, you need to use look-behind and look-ahead. It isn't pretty. Search for

(?<=\()[^)]+(?=\))

Set the replacement to

$0

and set the Change Format to your character style.

 

It doesn't seem to be working now. Should this still accomplish what I need, or is there a change to the Find or Change To strings I need to make?

 

Mac OS 12.4

InDesign 17.3

 

Thanks

TOPICS
How to , Scripting , Type

Views

73

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 2 Correct answers

Adobe Community Professional , Jul 23, 2022 Jul 23, 2022

You don't need the $0. You can leave the ChangeTo field blank. But this code with an extra escape in the negative expression line works [^\)]. Can you provide a sample line where that doesn't work? 

Find:

 

(?<=\()[^\)]+(?=\))

 

 Change Format: Your character style

Likes

Translate

Translate
Adobe Community Professional , Jul 24, 2022 Jul 24, 2022

As Brian mentioned the $) isn't necessary. But why your expression doesn't work isn't clear, it works fine over here (with or without the escape that Brian mentioned).

But the expression uses two ways to stop at the first closing parenthesis, one is good enough. You can use either of these two:

 

(?<=\()[^)]+
(?<=\().+?(?=\))

 

In the first one,  [^)]+ stands for 'while not )', and in the second one,  .+?(?=\)) stands for 'repeat until the first next )'.

P.

 

 

Likes

Translate

Translate
Adobe Community Professional ,
Jul 23, 2022 Jul 23, 2022

Copy link to clipboard

Copied

You don't need the $0. You can leave the ChangeTo field blank. But this code with an extra escape in the negative expression line works [^\)]. Can you provide a sample line where that doesn't work? 

Find:

 

(?<=\()[^\)]+(?=\))

 

 Change Format: Your character style

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jul 24, 2022 Jul 24, 2022

Copy link to clipboard

Copied

Thanks! Works as expected.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Jul 24, 2022 Jul 24, 2022

Copy link to clipboard

Copied

As Brian mentioned the $) isn't necessary. But why your expression doesn't work isn't clear, it works fine over here (with or without the escape that Brian mentioned).

But the expression uses two ways to stop at the first closing parenthesis, one is good enough. You can use either of these two:

 

(?<=\()[^)]+
(?<=\().+?(?=\))

 

In the first one,  [^)]+ stands for 'while not )', and in the second one,  .+?(?=\)) stands for 'repeat until the first next )'.

P.

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jul 24, 2022 Jul 24, 2022

Copy link to clipboard

Copied

LATEST

Thanks! Works as expected as well. A big relief. Hundreds of faculty names with (department name) that has to be italicized. 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines