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.