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

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

23.08.2016, 15:26. Просмотров 412. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2016, 15:26
Ответы с готовыми решениями:

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

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

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

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

2
aleksandy
632 / 524 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
23.08.2016, 16:44 2
В регулярках, предполагающих несколько значений, следует в первую очередь указывать самое длинное выражение, т.е. сначала ищешь '?"', а уже потом '?'. Но в твоём случае достаточно простого "\\?"?|!"
0
xoraxax
2348 / 2052 / 608
Регистрация: 05.07.2013
Сообщений: 9,804
Завершенные тесты: 2
23.08.2016, 16:57 3
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
23.08.2016, 16:57
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2016, 16:57

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

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

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

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

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

Регулярные выражение с#
не могу понять задание. требуется: Вывести на экран все адреса украинских веб сайтов содержащихся...

Регулярные выражение
Доброго времени суток!! Я понимаю, что мой вопрос для кого-то покажется простым , но все же... ...


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

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

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