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

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

23.08.2016, 15:26. Показов 628. Ответов 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
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class RegexExampleMatcher {
 
    public static void main(String[] args) {
        String content = "ZZZ? AA? PP AA QQQ?" AAA! ZZ!";
        String string = "\\?|!|\\?"";
        Pattern pattern = Pattern.compile(string);
        Matcher matcher = pattern.matcher(content);
        int start = 0;
        while(matcher.find()){
            System.out.println(start);
            String s =content.substring(start, matcher.end());
            start =matcher.end();
            System.out.println(s);      
        } 
        if (start < content.length()){
            String s = content.substring(start);
            System.out.println(s);
        }       
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.08.2016, 15:26
Ответы с готовыми решениями:

Регулярные выражение
Доброго времени суток! Подскажите как создать регулярное выражение, которые будет соответствовать тому, что в строке есть или одно...

Регулярные выражение
Всем привет. Как с помощью pattern и matcher вывести все числа, но только после определенного слова, символа, или цифры? К примеру:...

Регулярные выражение
Всем привет. Как с помощью pattern и matcher вывести все числа, но только после определенного слова, символа, или цифры? К примеру:...

2
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
23.08.2016, 16:44
В регулярках, предполагающих несколько значений, следует в первую очередь указывать самое длинное выражение, т.е. сначала ищешь '?"', а уже потом '?'. Но в твоём случае достаточно простого "\\?"?|!"
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
23.08.2016, 16:57
Java
1
2
3
4
5
6
7
8
String string="(.*?)(?:!|\\?(?=[^"])|\\?")";
    String content = "ZZZ? AA? PP AA QQQ?" AAA! ZZ!";
      
    Pattern pattern = Pattern.compile(string);
    Matcher matcher = pattern.matcher(content);
    while(matcher.find()){
            System.out.println(matcher.group(1));
    }
куда-то деваются слэши - перед кавычками надо поставить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.08.2016, 16:57
Помогаю со студенческими работами здесь

Регулярные выражения. Некорректное выражение
Собственно есть строка. String s = &quot;куча текста опять текст&quot;; Мне надо выдрать строки между Написал код ...

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

Регулярные выражение
Всем привет, разбирал пример с учебника (регулярные выражения) и столкнулся не понятным явлением. Задание: Выбрать номера только такого...

Регулярные выражение
Помогите пожалуйста составить регулярное выражение. Задача такая: Нужно раскрасить весь текст между символов ( и ); кроме самих...

Регулярные выражение
У меня какое-то такое регулярное выражение: p = re.compile(r&quot;\n +&quot;) Я хочу найти все совпадения и заменить их с помощью re.sub на...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru