Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 22.12.2014
Сообщений: 17
1

Составить регулярное выражение, определяющее является ли заданная строка IP адресом

22.12.2014, 20:11. Просмотров 4176. Ответов 6
Метки нет (Все метки)


В яве не очень разбираюсь, не понимаю как решить
Составить регулярное выражение, определяющее является ли заданная строка IP адресом, записанным в десятичном виде.
Пример правильных выражений: 127.0.0.1, 255.255.255.0.
Пример неправильных выражений: 1300.6.7.8, abc.def.gha.bcd.

На форуме нашла похожую тему, но решения там не верное(((
Вот примерное решение:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class IPAddressValidator{
 
    private Pattern pattern;
    private Matcher matcher;
 
    private static final String IPADDRESS_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])$";
 
    public IPAddressValidator(){
      pattern = Pattern.compile(IPADDRESS_PATTERN);
    }
 
   /**
    * Validate ip address with regular expression
    * @param ip ip address for validation
    * @return true valid ip address, false invalid ip address
    */
    public boolean validate(final String ip){         
      matcher = pattern.matcher(ip);
      return matcher.matches();             
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2014, 20:11
Ответы с готовыми решениями:

Написать регулярное выражение, определяющее является ли данная строчка валидным URL адресом
Помоги, решить задачу. Написать регулярное выражение, определяющее является ли данная строчка...

Написать регулярное выражение, определяющее является ли строка GUID
Написать регулярное выражение, определяющее является ли данная строка GUID с или без скобок. Где...

Использовать регулярное выражение, определяющее является ли данная строка GUID с или без скобок
Задание: Использовать регулярное выражение, определяющее является ли данная строка GUID с или без...

Написать регулярное выражение, определяющее является ли данная строчка датой
Написать регулярное выражение, определяющее является ли данная строчка датой в формате dd/mm/yyyy....

6
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
22.12.2014, 23:49 2
правильное решение у тебя. Из этого сайта ->
http://www.mkyong.com/regular-... xpression/
0
0 / 0 / 0
Регистрация: 22.12.2014
Сообщений: 17
23.12.2014, 19:45  [ТС] 3
Issues, может и верное, но не компилируется почему-то((
0
Миниатюры
Составить регулярное выражение, определяющее является ли заданная строка IP адресом  
282 / 262 / 173
Регистрация: 27.07.2014
Сообщений: 584
23.12.2014, 20:01 4
У вас код не предусматривает ввод с консоли данных
0
0 / 0 / 0
Регистрация: 22.12.2014
Сообщений: 17
23.12.2014, 20:51  [ТС] 5
Sanan07, а как переделать под консоль? а то мне надо до завтра сделать не успею ...
0
282 / 262 / 173
Регистрация: 27.07.2014
Сообщений: 584
23.12.2014, 21:13 6
Лучший ответ Сообщение было отмечено katyushka01 как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOError;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
 
 
public class Test {
 
    
      private static String S;
      private static boolean bool;
      
      
       private static final String IPADDRESS_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])$";
      
    
        
    public static void main(String[] args) {
    
           Scanner s = new Scanner(System.in);
           PrintWriter out = new PrintWriter(System.out);
           
        
           S=s.next();
           bool= validate(S);
           if(bool==true) {
              System.out.println("Строка является IP адресом");
           }
           else {
               System.out.println("Строка не является IP адресом");
           }
 
        
        
    }
     public static boolean validate( String ip){   
         Pattern pattern = Pattern.compile(IPADDRESS_PATTERN);
         Matcher matcher = pattern.matcher(ip);
          return matcher.matches();             
        }
 
}
0
0 / 0 / 0
Регистрация: 22.12.2014
Сообщений: 17
23.12.2014, 21:25  [ТС] 7
Sanan07, спасибо большое очень выручил)))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2014, 21:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Написать регулярное выражение, определяющее, является ли данная строчка датой в формате dd/mm/yyyy
У меня не запускается программа. Ошибку выдает в checkString Условие: Написать регулярное...

Написать регулярное выражение, определяющее, является ли данная строчка датой в формате dd/mm/yyyy
Написать регулярное выражение, определяющее является ли данная строчка датой в формате dd/mm/yyyy....

Написать регулярное выражение, определяющее является ли заданная строка правильным MAC-адресом
Написать регулярное выражение, определяющее является ли заданная строка правильным MAC-адресом....

Написать регулярное выражение определяющее является ли заданная строка правильным MAC-адресом
Доброго времени суток:) Помогите пож. решить задачу 5.Написать регулярное выражение определяющее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.