- Прежде всего, нам нужно импортировать 2 библиотеки.
import java.util.regex.Matcher; import java.util.regex.Pattern;
- Теперь давайте определим регулярное выражение ip
public static final String IP_REGEX ="^"
+ "([01]?\\d\\d?|2[0-4]\\d|22[0-3])\\."
+ "([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-4])$";
^ –>начало строки
( –> начало группы #1
[01]?\d\d? –> Может состоять из одной или двух цифр. Если появляются три цифры, они должны начинаться либо с 0, либо с 1 # например, ([0-9], [0-9][0-9],[0-1][0-9][0-9])
| –> или
2[0-4]\d # начинайте с 2, затем 0-4 и заканчивайте любой цифрой (2[0-4][0-9])
| –> или
25[0-5] # начинается с 2, затем следует 5 и заканчивается 0-5 (25[0-5])
) –> конец группы #2
. –> далее следует точка “.”
…. –> повторить 3 раза (3 раза)
$ –>конец строки
- Создайте объект шаблона и передайте ему строку регулярного выражения.
String ipregex = System.console().readLine(); //read input
Pattern ipPattern= Pattern.compile(IP_REGEX);
Matcher ipMatcher = ipPattern.matcher(ipregex);
- Наконец-то мы можем контролировать наш результат.
//Control flow
if (!ipMatcher.matches()) {
System.out.println("Yay ! ");
}
else{
System.out.println("Noooooo! ");
}
return ipregex;
Оригинал: “https://dev.to/kavanozkafa/check-ip-with-regex-in-java-1ndn”