Esa expresión está mal, no captura números entre el 25 y 55.
Aquí las pruebas:
Código PHP:
Ver original$regex = '/^[2-5]?[5-5]$/';
foreach ($test as $num) {
echo "=> $num PASS!\n";
}
}
Y los resultados:
Cita: => 5 PASS!
=> 25 PASS!
=> 35 PASS!
=> 45 PASS!
=> 55 PASS!
Como puedes verificar, tu expresión es pésima y por lo tanto no es una solución ni de lejos.