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

Проверка правильности MAC адреса

06.05.2018, 17:54. Показов 4035. Ответов 4

Студворк — интернет-сервис помощи студентам
Написать регулярное выражение, определяющее является ли заданная строка правильным MAC-адресом.
– пример правильных выражений: aE:dC:cA:56:76:54.
– пример неправильных выражений: 01:23:45:67:89:Az.

Вот до чего я допер, но все равно лезут все адреса из txt файла не фильтруясь. Если допишите буду крайне благодарен. У меня пар из ушей валит

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package javaapplication; 
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
//import static java.lang.System.in;
import java.util.regex.*; 
//import java.util.Scanner; 
public class JavaApplication { 
public static void main(String[] args) throws IOException 
{
File demo = new File("C:\\output.txt");
String l = null;
BufferedReader reader = new BufferedReader(new FileReader(demo));
Pattern pl = Pattern. compile("([a-z][A-Z]:){3}(\\d\\d:){2}(\\d){2}+"); 
Matcher q = pl.matcher(l); 
boolean m = q.matches(); 
while((l = reader.readLine()) != null)
{
System.out.println(m);             
}
}
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2018, 17:54
Ответы с готовыми решениями:

Получение mac адреса принтера
Доброго времени суток, форумчане! Есть задача получить mac-адрес принтера подключенного к ПК. Облазил уже пол интернета, ничего не могу...

DAO проверка правильности работы
есть такой вопрос : проверить, что дао отработало правильно?

Проверка правильности postfix expression
Добрый день, подскажите пожалуйста, как можно реализовать проверку правильности postfix expreession используя стак? Спасибо!

4
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
06.05.2018, 18:53
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
0
0 / 0 / 1
Регистрация: 25.05.2017
Сообщений: 28
06.05.2018, 19:10  [ТС]
xoraxax, Все равно выдает все MAC адреса из файла и не фильтрует их((((
Миниатюры
Проверка правильности MAC адреса  
0
 Аватар для GreeNicee
185 / 155 / 88
Регистрация: 04.10.2014
Сообщений: 397
06.05.2018, 21:03
– пример правильных выражений: aE:dC:cA:56:76:54.
– пример неправильных выражений: 01:23:45:67:89:Az.
Что с вашей регуляркой, что с предложенной xoraxax'ом ваши 2 примера проверяются верно
внутри просто баловство со стримами)

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
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
 
public class Test {
 
    public static void main(String[] args) throws IOException {
        File demo = new File("input.txt");
        String l;
        BufferedReader reader = new BufferedReader(new FileReader(demo));
        Pattern pl = Pattern.compile("([a-z][A-Z]:){3}(\\d\\d:){2}(\\d){2}+");
 
        while ((l = reader.readLine()) != null) {
            Matcher q = pl.matcher(l);
            boolean m = q.matches();
            System.out.println(m);
            System.out.println(l);
        }
        /*  true
            aE:dC:cA:56:76:54
            false
            01:23:45:67:89:Az
        */
        List<String> list = new BufferedReader(new FileReader(demo)).lines()
                .filter(s -> pl.matcher(s).matches()).collect(Collectors.toList());
        list.forEach(System.out::println);
        //aE:dC:cA:56:76:54
 
        Map<Boolean,List<String>> map = new BufferedReader(new FileReader(demo)).lines()
                .collect(Collectors.partitioningBy(s -> pl.matcher(s).matches()));
        System.out.println(map);
        //{false=[01:23:45:67:89:Az], true=[aE:dC:cA:56:76:54]}
    }
}
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
06.05.2018, 21:14
Цитата Сообщение от kompashka Посмотреть сообщение
while((l = reader.readLine()) != null)
{
System.out.println(m); * * * * * *
}
конечно не фильтрует, он за тебя чтоли догадаться должен, что ему надо чото там фильтровать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2018, 21:14
Помогаю со студенческими работами здесь

Проверка правильности ввода в консоли
Добрый день. Как сделать проверку ввода , чтобы при вводе с клавиатуры других символов (не Double) выводилась ошибка. Искал, гуглил,...

Проверка корректности веб-адреса
Дано строку символов. Определить является ли она корректным веб-адресом.

Проверка e-mail адреса на корректность
Подскажите название метод проверки e-mail адреса на корректность. Типа наличие символов @ . и т.д, чтобы не писать самому.

Проверка правильности ввода Email адреса
Нужна функция для проверки правильности ввода Email адреса на С++, чтобы она возвращала true если emai адрес введен верно, и false если...

Проверка mac адреса
Всем доброго времени суток. Перейду сразу к сути, есть компьютер, находящийся за NAT`ом и имеющим доступ к интернету, он отправляет UDP...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru