grazie per la bevuta virtuale perō se non mi dici qual'č il limite superiore ... cmq prova questa (da testare):

codice:
$sub = '([a-z0-9]{1,3})' ;
$rex = "/^$sub    # prima coppia valore
	(?:,(?!\\1\b)$sub)  # seconda coppia
	(?:,(?!\\1\b|\\2\b)$sub)?  # terza coppia
	#(?:,(?!\\1\b|\\2\b|\\3\b)$sub)?  # quarta coppia
	$/ix" ;
Siccome devi controllare anche l'univocitā devi per forza specificare quante coppie massime vuoi. Se il max fosse 4 devi decommentare l'ultima riga, nel caso fossero 5 dovresti aggiungere un'altra riga incrementando il tutto di uno, aggiungendo un riferimento all'indietro |\\4\b:
(?:,(?!\\1\b|\\2\b|\\3\b|\\4\b)$sub)?
fossero 6 ne aggiungi un altra etc etc.