Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2014, 20:17   #1
tanya96
Пользователь
 
Регистрация: 02.11.2014
Сообщений: 10
По умолчанию Составить регулярное выражение, определяющее является ли заданная строка IP адресом, записанным в десятичном виде

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

Последний раз редактировалось tanya96; 21.12.2014 в 22:15.
tanya96 вне форума Ответить с цитированием
Старый 22.12.2014, 15:52   #2
maxim.yep
 
Регистрация: 26.03.2014
Сообщений: 6
По умолчанию

Пример регулярного выражения прикреплен.
Изображения
Тип файла: jpg Screenshot from 2014-12-22 14:51:17.jpg (25.6 Кб, 157 просмотров)
maxim.yep вне форума Ответить с цитированием
Старый 22.12.2014, 19:47   #3
tanya96
Пользователь
 
Регистрация: 02.11.2014
Сообщений: 10
По умолчанию

maxim.yep, всё очень мелко, не видно(
tanya96 вне форума Ответить с цитированием
Старый 22.12.2014, 21:33   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

http://www.regular-expressions.info/examples.html - раздел IP Addresses.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 22.12.2014, 23:58   #5
tanya96
Пользователь
 
Регистрация: 02.11.2014
Сообщений: 10
По умолчанию

BDA, ну примерно поняла как делать, только не могу ошибку найти в коде, пишет что "Ошибка исполнения, код возврата 1"
Код:
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);
    }
    public boolean validate(final String ip){         
      matcher = pattern.matcher(ip);
      return matcher.matches();             
    }
}
tanya96 вне форума Ответить с цитированием
Старый 23.12.2014, 10:12   #6
maxim.yep
 
Регистрация: 26.03.2014
Сообщений: 6
По умолчанию

Ты все правильно сделала:
PHP код:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ipaddressvalidator;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 *
 * @author yep
 */
public class IPAddressValidator {

    
/**
     * @param args the command line arguments
     */
    
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);
    }

    public 
boolean validate(final String ip) {
        
matcher pattern.matcher(ip);
        return 
matcher.matches();
    }

    public static 
void main(String[] args) {
        
// TODO code application logic here

        //Пример правильных выражений: 127.0.0.1, 255.255.255.0.
//Пример неправильных выражений: 1300.6.7.8, abc.def.gha.bcd. 
        
IPAddressValidator ip = new IPAddressValidator();
        
System.out.println(ip.validate("127.0.0.1"));
        
System.out.println(ip.validate("255.255.255.0"));
        
System.out.println(ip.validate("1300.6.7.8"));
        
System.out.println(ip.validate("abc.def.gha.bcd"));
    }


maxim.yep вне форума Ответить с цитированием
Старый 23.12.2014, 10:13   #7
maxim.yep
 
Регистрация: 26.03.2014
Сообщений: 6
По умолчанию

PHP код:
true
true
false
false 
maxim.yep вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить регулярное выражение YHawk PHP 2 19.03.2012 06:56
Проверить, является ли заданная строка симметричной. - Ассемблер VHomer Помощь студентам 3 27.12.2008 19:37
Является ли заданная строка правильной записью вещественного числа с возможным знаком и десятичной точкой Banny Паскаль, Turbo Pascal, PascalABC.NET 7 18.12.2008 22:28
Определить, является ли заданная строка правильной записью вещественного числа Sergik1977 Паскаль, Turbo Pascal, PascalABC.NET 2 18.10.2007 16:53