Copy link to clipboard
Copied
I'm trying to match the following in a couple of grep styles in the same, single paragraph style:
Format:
Artist Songname (date)
Lots more text that needs to be unstyled like the date above.
text + endash + text (date)
text
Example:
Bob Dylan I Don't Believe You (She Acts Like We Have Never Met) (1964)
I can't understand
She let go of my hand
And left me here facing the wall
I'm trying to style the 'singer' name with this (seems to be working fine):
(?s).*~>
and the song title with this (but I don't think it's right):
(?s)(?<=~>).*(?<=\()
How do I capture the song title, which could contain parentheses, but not the parenthesised date?
I also keep accidentally capturing the opening parenthesis of the date in my positive look ahead.
I was thinking along the lines of a positive lookahead that includes \([0-9]{,4}\) but it doesn't seem to work.
Any and all help appreciated!
Copy link to clipboard
Copied
One help could be to start with a Paragraph style that is set in italic. Everything in the line would be italic.
A grep could set the artist name in Bold (you state this appears to work fine). Also, a nested style might do this, too.
That just leaves the end of the line to be grepped to be Regular (aka Roman). Maybe something like: \((\d{4})\)
Copy link to clipboard
Copied
You have used lookbehind in (?s)(?<=~>).*(?<=\()
Doesn't this (?s)(?<=~>).*(?=\() work for you? Seems to work for me, see the screenshot.
-Manan
Copy link to clipboard
Copied
I am not a GREP Expert so I look for things that make finding the breaks easier, and because names and song titles can vary in word and character counts, I think you will have trouble with GREP searches that try to identify them using spaces.
An alternative would be to add some sort of tag you can add to separate the parts of the paragraph, and InDesign actually has a built-in tag that should work perfectly here: End Nested Style.
It has no width and is invisible so it won't affect your text flow, and it does not require the use of GREP at all, just ordinary nested styles in your paragraph style definition.
I don't know how you are getting the text into InDesign, but if you are using Data Merge you can modify your template to include the tags.
This won't be much help, unfortunately, if you are trying to style an existing text since automating the insertion of the tags is essentially the same problem as doing the styling.
Copy link to clipboard
Copied
Thanks Peter. I'll investigate this.