in reply to Re^3: Why is variable length lookahead implemented while lookbehind is not?
in thread Why is variable length lookahead implemented while lookbehind is not?

Reversing the string requires reversing the regex pattern too, and that's not trivial. For example, (?<=(.).*\1) would try to match \1.*(.), but \1 hasn't been populated yet.

Update:

... What am I saying! Just have people write (.).*\1. That's what they'd have to do with a right-to-left parser too. I suspect all issues can be solved with proper documentation.