So the way to read this:

(?:.(?!<a))*?

would be

"match on any character as long as it isn't followed by a '<a'"

Why do you need the positive lookahead assertion though - to ensure that 
the characters aren't consumed in case of a bad match?

Wes
-- 
Posted via http://www.ruby-forum.com/.