通常の IP アドレスを検証するパターンがあります。つまり、次のとおりです。
private static final String PATTERN =
"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";
入力が有効な IP アドレスかどうかを確認する検証メソッド:
private static boolean validate(final String ip){
Pattern pattern = Pattern.compile(PATTERN);
Matcher matcher = pattern.matcher(ip);
return matcher.matches();
}
しかし、CIDR (例: 84.240.40.0/24) 表記とホストなしの IP 範囲 (例: 172.24.105) の検証を追加する必要があります。さまざまなパターンを試しましたが、具体的なものは得られませんでした。助言がありますか?