in reply to Implementing variable-width negative lookbehind assertions?

First of all your difficulty in implementing the RE is directly reflected in why variable width look-behinds are not done in the RE engine. (Because they are hard!)

Anyways I would suggest that you play games with pos and the length of the match. Make this a multi-pass problem. The first pass creates a hash of possible positions of matches with the matched text. The further passes create lists of positions excluded for some reason (within 5 words after management) and are used to delete from the hash. Whatever keys survive, are what you are interested in.

Thinking this through is likely to be a bit messy, but should work and work within a reasonable time. (As long as you don't have too many conditions to worry about.)

  • Comment on Re (tilly) 1: Implementing variable-width negative lookbehind assertions?