- Прежде всего, нам нужно импортировать 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”