/^ ## With the $, exactly 8 chars only (.) ## Any char as \1 (?!\1)(.) ## Any char as \2 except \1 (?!\1|\2)(.) ## Any char as \3 except \1 or \2 (?!\1|\2|\3)(.) ## Any char as \4 except ... (?!\1|\2|\3|\4)(.) ## Any char as \5 except ... \3 ## Only whatever is in \3 (?!\1|\2|\3|\4|\5)(.) ## Any char as \6 except ... (?!\1|\2|\3|\4|\5|\6). ## Any char except any char we've already seen $/x