Skip to main content
manuelb27477138
Inspiring
September 17, 2018
Answered

GREP Exclude characters

  • September 17, 2018
  • 1 reply
  • 3829 views

Hello!

In my text the letter g means glossary. 

And I need DELETE all paragraph contains only numbers.  I mean, I need keep the paragraph if contain the cross references like the letter g and (See...)

Here you can see in color PINK the paragraph I need delete.

here is my code, but I don't know how can I EXCLUDE the other paragraph.

replaceTextUsingGREP ("+(\\d[–\\d, -]*\\d?) *","\r");

function replaceTextUsingGREP (input, output) {

    app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing;

    app.findGrepPreferences.findWhat = input;

    app.changeGrepPreferences.changeTo = output;

    var changedResults = app.activeDocument.changeGrep();

    app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing;

}

Thanks so much!

This topic has been closed for replies.
Correct answer Marc Autret

Hi Manuel,

I would suggest you use a negative lookahead to filter those "g" and "(See…" patterns.

For example:

replaceTextUsingGREP("^(?!.+ (g|\\(See [^)]+\\)),? \\d).+ \\d[\\d, -]*\\r", "");

// ...

The pattern /^(?!.+ (g|\(See [^)]+\)),? \d).+ \d[\d, -]*\r/ can be thought as follows:

@+

Marc

1 reply

Marc Autret
Marc AutretCorrect answer
Legend
September 17, 2018

Hi Manuel,

I would suggest you use a negative lookahead to filter those "g" and "(See…" patterns.

For example:

replaceTextUsingGREP("^(?!.+ (g|\\(See [^)]+\\)),? \\d).+ \\d[\\d, -]*\\r", "");

// ...

The pattern /^(?!.+ (g|\(See [^)]+\)),? \d).+ \d[\d, -]*\r/ can be thought as follows:

@+

Marc

manuelb27477138
Inspiring
September 17, 2018

Hi Marc,

very kindness, for the explanation.

Thanks so much are working fantastic!