in reply to Regex Match for 3 repeated word characters

Set of expressions? Bah! Why not just use a single one? ;)

use re 'eval'; my $username = "jryan"; my $password = "perl6rules"; print $password =~ / (?= [^\d]*\d ) (?= [^a-z]*[a-z] ) (?=^ (?: (?!(.)\1\1) . )+ $) (?!^ \Q$username\E $) (?!^ (??{quotemeta reverse $username}) $) ^\w{8,12}$ /ix ? "(-:" : ")-:";

Note: I also assumed you meant "cannot" for rule 5.