2

I am trying to format text in InDesign using GREP Style. The goal is to select words longer then 4 letters in a paragraph but if the word has been duplicated in a paragraph it should not select more then first instance of this word. This is sample text:

"The Lord's right hand is lifted high; the Lord's right hand has done mighty things!" The solution should give

  • Lord right hand lifted high done mighty things

i have done the first part

[[:word:]]{4,}

but don't have a clue how to deal with those duplicates.

koczkodan
  • 21
  • 1

1 Answers1

5

Is order a requirement? If not, how about words longer than 4 characters not followed by that same word later in the text? See:

([[:word:]]{4,})(?!.*\1)

https://regex101.com/r/Ug4dLZ/1

Result: lifted high Lord right hand done many things

To be more comprehensive, include word breaks (i.e. count "Person" and "Personhood" as 2 separate words):

([[:word:]]{4,})(?!.*\b\1\b)
ejkeep
  • 318
  • 1
  • 6