Lookahead will work just as well. You want to exclude a match if the
next character from the class [<>] is '>', right? You're using
a similar tactic to go backward, but since you don't have
"variable-length lookbehind," you can't really use it. So I think you
want this:
match(?![^<>]*>)
"Some day, and that day may never come, I will call upon you to do a service for me." — Don Vito Corleone