Проверка строки IPv4 в Java

Метод Bellow проверяет, является ли строка правильным IPv4-адресом, он возвращает истину, если он действителен. Любые улучшения в регулярном выражении и элегантности были бы очень оценен:

public static boolean validIP(String ip) {
    if (ip == null || ip.isEmpty()) return false;
    ip = ip.trim();
    if ((ip.length() < 6) & (ip.length() > 15)) return false;

    try {
        Pattern pattern = Pattern.compile("^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$");
        Matcher matcher = pattern.matcher(ip);
        return matcher.matches();
    } catch (PatternSyntaxException ex) {
        return false;
    }
}
45
задан Mat B. 9 March 2011 в 13:32
поделиться