Я попытался сделать этот пример работы в Java: Private IP Address Identifier in Regular ExpressionPrivate IP регулярное выражение не работает в Java
Я хочу, чтобы проверить, если IP является частной один, за исключением 127.xxx
Но я м собирается сойти с ума, Что плохого в этом коде ?:
private static final Pattern patternPrivateNotLocal = Pattern.compile("(^10\\.)|(^172\\.1[6-9]\\.)|(^172\\.2[0-9]\\.)|(^172\\.3[0-1]\\.)|(^192\\.168\\.)");
public static boolean isPrivateAndNotLocalIP(String ip)
{
return patternPrivateNotLocal.matcher(ip).matches();
}
метод возвращает мне false
когда ip = "192.168.122.1"
coud может добавить '. *' После каждой закрывающей скобки в вашем регулярном выражении, чтобы заставить ее работать. – SomeJavaGuy
изменить "matches" to "find" – nafas
@nafas 'patternPrivateNotLocal.matcher (ip) .find();' Не работает либо –