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

Регулярные выражения [Java]

02.06.2013, 23:12. Показов 2409. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Столкнулся с такой проблемой. Не могу понять в чем ошибка в регулярном выражении.
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
import java.util.*;
import java.io.*;
import java.lang.*;
import java.util.regex.*;
public class regularExpressions {
    List<String> strLine;
    Pattern patr = Pattern.compile("(#([0_9]*)$%#([0_9]*))");
    Matcher match;
 
    public regularExpressions()
    {
        strLine = ReadText.fileReadLine("Text.txt"); //ReadText, отдельный класс, возвращающий коллекцию строк из файла. Работает правильно 
        find();
    }
    public void find()
    {
        for(int i=0;i<strLine.size();i++)
        {
            match=patr.matcher(strLine.get(i));
            System.out.println(strLine.get(i));
            if(match.find())
            {
                System.out.println("YES\n");
            }
            else
            {
                System.out.println("NO\n");
            }
        }
    }
}
Регулярное выражение должно проверять на правильность строку из файла, которая должна состоять из двух последовательностей чисел, начинающихся с "#" и разделенных "$%"

Добавлено через 10 минут
С 0_9 на 0-9 уже исправил
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.06.2013, 23:12
Ответы с готовыми решениями:

Регулярные выражения [Java]
Как описать в регулярном выражении символ '+' как литерал, а не как специальный символ?

Java и регулярные выражения
Всем привет, не получается исключить слово в регулярном выражении Надо найти слова заключенные между % (например %hello%), но при это...

регулярные выражения Java
Добрый день. Пример из Thinking in java: Нужно найти выражение в предложении Подскажите, пожалуйста, почему оно находит слова...

23
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
02.06.2013, 23:20
Цитата Сообщение от PolKilo Посмотреть сообщение
С 0_9 на 0-9 уже исправил
так вопрос решен?
0
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
02.06.2013, 23:20  [ТС]
Нет. К сожалению не помогло
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
02.06.2013, 23:24
PolKilo, киньте Ваш файл "Text.txt". слова разделить можно через сплит. Разделитель "$%" какой-то стремный....

Добавлено через 1 минуту
PolKilo, и код ReadText тоже
0
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
02.06.2013, 23:27  [ТС]
Да я бы и рад адекватный разделитель использовать, так задание такое)
Вложения
Тип файла: txt Text.txt (97 байт, 9 просмотров)
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
02.06.2013, 23:27
я так понял те проверяемые числа типа Integer?
0
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
02.06.2013, 23:32  [ТС]
animator404,

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/**
 * Created with IntelliJ IDEA.
 * User: Илья
 * Date: 17.05.13
 * Time: 19:35
 * To change this template use File | Settings | File Templates.
 */
import java.util.*;
import java.io.*;
import java.lang.*;
import java.util.regex.*;
public class ReadText {
    static public String enteredFromKeyboard(String text)
    {
        Scanner scan = new Scanner(System.in);
        String tempInt;
        for (;;)
        {
            try {
                System.out.print(text);
                scan = new Scanner(System.in);
                tempInt = scan.next();
                break;
 
            }
            catch (Exception e)
            {
                System.out.println("Введіть число більше 20 і менше 100 !!!\n\n");
            }
        }
        return  tempInt;
    }
 
    static public List<String> fileRead(String nameFile)
    {
        List<String> strLine = new ArrayList<String>();
        try
        {
            BufferedReader in = new BufferedReader(new FileReader("/C:/Users/Илья/Desktop/lab 2_2/"+nameFile));
            Pattern patr=Pattern.compile("[ ;.]");
            strLine = new ArrayList(Arrays.asList(patr.split(in.readLine())));
            in.close();
        }
        catch(Exception e)
        { }
        return strLine;
    }
 
    static public List<String> fileReadLine(String nameFile)
    {
        List<String> strLine = new ArrayList<String>();
        try
        {
            BufferedReader in = new BufferedReader(new FileReader("C:/Users/Илья/Desktop/lab 2_2/"+nameFile));
 
            String str;
 
            while ((str = in.readLine()) != null)
            {
                strLine.add(str);
            }
 
            in.close();
        }
        catch(Exception e)
        { }
        return strLine;
    }
}
Здесь все работает

Добавлено через 3 минуты
animator404, Регулярное выражение используется для поиска строк, которые соответствуют описанию
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
02.06.2013, 23:40
PolKilo, а что выводит? Может какие Exception?
0
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
02.06.2013, 23:43  [ТС]
animator404, В том то и дело что выводит каждую строку и отрицательный ответ

Добавлено через 31 секунду
animator404, Похоже что ошибка в самом регулярном выражении
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
02.06.2013, 23:45
PolKilo, у меня вообще ничего не выводит. Можете кинуть проект полностью?
0
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
02.06.2013, 23:49  [ТС]
animator404,
Вложения
Тип файла: rar lab 2_2.rar (21.3 Кб, 3 просмотров)
0
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
02.06.2013, 23:55  [ТС]
animator404,
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
03.06.2013, 00:02
PolKilo, у меня после
Java
1
strLine = ReadText.fileReadLine("Text.txt");
strLine пустой

Добавлено через 3 минуты
PolKilo, http://regexpr.ru/?pattern=%2F... 1999-05-14 вот попробуйте проверить свой паттерн. только он там немножко по другому вводится
1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
03.06.2013, 00:06  [ТС]
Вот проект

Добавлено через 1 минуту
animator404, Вы путь поменяли в классе ReadText?
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
03.06.2013, 00:06
PolKilo, попробуйте так
Java
1
Pattern patr = Pattern.compile("#[0-9]+$%");
1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
03.06.2013, 00:12  [ТС]
animator404, Пробовал
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
03.06.2013, 00:14
PolKilo, мой совет - поменяйте разделитель и # тоже
1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
03.06.2013, 00:17  [ТС]
Ладно) Все равно спасибо)
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
03.06.2013, 00:17
попробуйте ^#[\d]+\$%#[\d]+$
1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 15
03.06.2013, 00:20  [ТС]
Работает) Спасибо большое)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.06.2013, 00:20
Помогаю со студенческими работами здесь

Java SE 8. Регулярные выражения
Здравствуйте. Я пишу прогамму на JAVA. Мне необходимо распознавать строку по шаблону. Шаблон следующего вида: . Ввел регулярое выражение,...

Регулярные выражения Java
Есть строка. Я пытаюсь split'ом разделить ее на отдельные строки. String str =...

Регулярные выражения Java
Здравствуйте. Изучаю Java, а конкретно регулярные выражения, решаю такую задачу: &quot;Необходимо реализовать консольную программу,...

Регулярные выражения на Java
Добрый день. Программа должна выводить на екран отсортированые имена из текстового файла. В начале она записывает текст файла в отдельную...

Валидация пароля в Java (регулярные выражения)
Здравствуйте, уважаемые форумчане. Несколько часов не могу разобраться с регулярками. Скурил всевозможные мануалы, но ничего не получается....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru