Hello !
Merci Julien, ça faisait longtemps que je me demandais quel pouvait être cet algorithme !
Pour améliorer l’expression régulière proposée par Yannick, on peut exclure les lettres I, O et Q :
preg_match('%^(\d{3})(\d{4})([a-zA-Z-[iIoOqQ]])$%', $code_ui, $matches);