Thanks that did it.
I hate regular expressions (or maybe am in awe of their power) but you're my new best friend. ------------- Patrick Kerley [email protected] ------------- ________________________________ From: Peter Boughton <[email protected]> To: cf-talk <[email protected]> Sent: Tuesday, June 14, 2011 12:16 PM Subject: Re: Regular Expression Help Give this a go: <cfset Result = InputText.replaceAll ( '~\{(?:(?!</a>).)+(?<!\}~)(?=</a></li>)' , '$0}~' ) /> It uses the java replaceAll regex function so that it can do the negative lookbehind to ensure existing correct items are not changed, meaning it can be run multiple times. Accepts any character (except newline) until it finds a closing A tag. If newlines are required, that's just a one character change: '~\{(?s:(?!</a>).)+(?<!\}~)(?=</a></li>)' (Which adds the 's' flag into what was a non-capturing group, meaning '.' also matches newlines.) If there's the possibly of a '~{' appearing outside this context, it may need extra limits applied to work correctly. Assuming there should not be any tags inside the ~{...}~ part, I would change the '.' for a '[^<>]' which makes it a bit 'safer': '~\{(?:(?!</a>)[^<>])+(?<!\}~)(?=</a></li>)' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:345293 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

