For example reassesses will match. It contains exactly 4 different characters: \'r\', \'e\', \'a\' and \'s\'.
My attempt is: /^([a-z
/^([a-z
Try
^([a-z])\1*([a-z])(\1*\2*)*([a-z])(\1*\2*\4*)*([a-z])(\1*\2*\4*\6*)*$
Edit to not match less than 4 unique (e.g. aaaa):
^([a-z])\1*(?!\1)([a-z])(\1*\2*)*(?!\1)(?!\2)([a-z])(\1*\2*\4*)*(?!\1)(?!\2)(?!\4)([a-z])(\1*\2*\4*\6*)*$