I am trying to match a specific string, but only when it's not part of a couple specific literal strings. I wish to exclude results falling within the literal strings `<span class='highlight'>` and `</span>`. So if I search for "light", "high", "pan", "an", etc. I want to match any other occurrences that are not part of those two literals.

I'm not trying to parse full HTML, only those two strings listed, which will never change. The class value will never change from 'highlight'.

I have tried all manners of lookarounds, capturing groups, non-capturing groups, etc that I can think of and have come up with nothing. Lookarounds don't seem to be working, I'm betting because the position(s) of the string in relation to the cases to be excluded are not guaranteed to be in a certain order.

Is this possible with only regex?