No es difícil, aunque sigo pensado que es innecesario.
Código PHP:
Ver original$regex = '/^(?:[3-4][0-9]|2[5-9]|5[0-5])$/';
foreach ($test as $num) {
echo "=> $num PASS!\n";
}
}
La clave está en declarar varios tipos de rangos, ya que uno sólo no puede abarcar diferentes números a la vez.
Es decir, el primer rango a discriminar es un rango finito, del 30 al 49, debido a que el 25 y 55 son truncos y no pueden incluirse en dicho rango.
[3-4][0-9]
El segundo rango debe cubrir aquellos números mayores o iguales a 25, pero debajo del primer rango citado.
2[5-9]
El último rango cubre el restante de posibilidades, aquellos números menores o iguales a 55, pero fuera de los rangos iniciales.
5[0-5]
Finalmente se debe agrupar todo usando el operador OR (pipe o barra), para que compruebe todos los casos.
Imposible no es.