haven't made a final decision on what the syntax would be though. They'd need to have an atomic and molecular version I suppose, just like the other lookarounds
Lookintos would of course be a superset of lookbehinds in power (or identical in power), but usually not in golf-shortness.
I was just trying a slightly different approach for Guiga... Right now it's 4 chars longer: ^(x(x+))(?<!^\3+(x+x))(?!((x+)\5*(?=\5$))?\1(?=(\1*)\2+$)\1+$\6)\1*$
And it thinks that 1 is Guiga
((x+)\5*(?=\5$))? seems like a really ugly construction. I want to do tail /= n where n is a (possibly 1) divisor of tail
Actually, I can get 63: ^(x(x+))(?<!^\3+(x+x))(?!(?=x*(\1(?=(\1*)\2+$)\1+$\5))\4*$)\1*$ So it's 1char shorter than the one I gave you before... but I gets the answer wrong for 1
@H.PWiz Can get even shorter than that: ^(x(x+))(?<!^\3+(x+x))(?!(?=.*(?=\1*$)(\1\2+$))\4*$)\1*$
At that length, it's still better even when handling of zero and one is tacked on
I should have seen that optimization myself. It's obvious in retrospect: square \1 and then assert tail isn't divisible by that square. Much better than dividing it by \1 and then asserting it's not divisible by that quotient. What was I thinking