Sto tentando di validare un orario con ereg ...

dove sbaglio nella regex ?

Codice PHP:

$orario 
"01:00-02:00";

if (
ereg("(^([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])-([0-9]|[0-1][0-9]|[2][0-3]):([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)"$orario)){
    echo 
$orario." = orario OK
"
;
}
 else {
echo 
$orario." = orario KO
"
;

Grazie per un consiglio