Cosė sembrerebbe funzionare:
codice:
$rex = '/^([0-1][0-9]|2[0-3])(\W[0-5][0-9]){2}$/';
echo preg_match($rex,$data);
Se vuoi accettare come separatore solo, che so, i duepunti sostituiscili a \W.