Mi solución: (?=^(?:(22[0-3]|(?:(2[0-1]\d|1[0-9]\d|[1-9]\d|[0-9])))).((?:(25[0-5]|(?:(2[0-4]|1[0-9]|[1-9]|))[0-9])).){2}(?:(25[0-5]|(?:(2[0-4]|1[0-9]|[1-9]|))[0-9]))$)(?!0.0.0.0)
rango entre 0.0.0.1 a 223.255.255.255