Validar Dirección IP con expresiones regulares en php

Valida que una dirección IP este dentro del rango 0.0.0.0 a 255.255.255.255

function validarIP($ip)
{
$val_0_to_255 = «(25 [012345] |2 [01234] \d| [01] ?\d\d?)»;
$reg = «#^($val_0_to_255\.$val_0_to_255\.$val_0_to_255\.$val_0_to_255)$#»;
return preg_match($reg, $ip, $matches);
}
//ejm:
if(validarIP(«192.168.1.1»))
{
echo «IP valida»;
}
else
{
echo «IP invalida»;
}