ditto with Thompson matcher
cleanup to keep lookahead/lookbehind more in sync for future