my $re = qr[ (.) (?=(.)(.)) (?= .* (?: \1 (?: \2\3 | \3\2 ) | \2 (?: \1\3 | \3\1 ) | \3 (?: \1\2 | \2\1 ) ) .* $) ]x;