@FryAmTheEggman without looking at it in detail, are you expecting the groups inside the lookahead to backtrack? that won't happen. lookarounds are atomic
so instead you'll want to match the ABA first without a lookaround and then do the rev(B) part in a lookbehind from the end of the string
@FryAmTheEggman btw, I'm finally starting work on that major update we talked about months ago (unifying how all the stages work and then implementing a good bunch of features on top of that).
as for the update, I've been planning a ton more features actually. this will probably end up being 1.0
one thing I'd like to figure out is to make the non-matches accessible to manipulation as well
I think it'll be most useful for transliteration mode (transliterate everything that wasn't matched), but I'm sure there'd be uses for other stages too
I'm also considering to allow repeating them for further-away references like $<<<& but having to use $<<& to get at the next match seems painfully expensive, which is why I'll probably support two different elements there
also thanks for the number rotation example. I hadn't considered them to be cyclic so far. that would also be something that should probably be either configurable or have some additional syntax element (whether or not you want it to be cyclic)
yeah, I'll have to think about, but thanks for the input
the other problem with having both matches and non-matches is how various flags interact with these. currently, only O has ^ (reverse matches after processing). it's something I'd like to add to all stages, but a) it might be useful to be able to reverse non-matches or both, b) for some stages reversing matches is a bit pointless (primarily split)
and grep/anti-grep, where the matches just mark lines to be kept/discarded
it's still proving to be the most obnoxious flag in unifying how stages work :D