Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Жадность квантификаторов, regexp 
V
    Опции темы
danilka
Дата 19.11.2010, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 15.1.2010

Репутация: нет
Всего: нет



Хочу сделать так, чтобы квантификатор во второй группе был жаднее чем в первой
Код

public class Greedy {
    public static void main(String[] args) {
        String s = "a-b-c";

        Pattern p = Pattern.compile("(.+)-(.+)");
        Matcher m = p.matcher(s);
        if (m.find()) {
            System.out.println(m.group(1));
            System.out.println(m.group(2));
        }
    }
}

 и возвращался результат
Код

a
b-c

а не
Код

a-b
c


Чет не доходит как сделать, наверное пятница, вечер. Кто подскажет?

ЗЫ: В обеих группах обязаны быть символы так что там должны стоять плюсики...
PM MAIL   Вверх
gcc
Дата 19.11.2010, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: нет
Всего: 17



Код

(.+)-(.*)


или
Код

(.*?)-(.*)


Код

([a-z]+)-([a-z]*)


Это сообщение отредактировал(а) gcc - 19.11.2010, 17:27
PM WWW ICQ Skype GTalk Jabber   Вверх
Kircul
Дата 19.11.2010, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 20.2.2007

Репутация: 6
Всего: 7



Жадный квантификатор жаднее чем ленивый. Может поставить вопрос так: Как сделать первую группу менее жадной? ;)
Код

(.+?)-(.+)

PM   Вверх
danilka
Дата 19.11.2010, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 15.1.2010

Репутация: нет
Всего: нет



Цитата(Kircul @  19.11.2010,  17:27 Найти цитируемый пост)
Жадный квантификатор жаднее чем ленивый. Может поставить вопрос так: Как сделать первую группу менее жадной? ;)
Выделить всёБез подсветки
1:
    
(.+?)-(.+)


Вот она сила пятницы, тоже пробовал такой вариант но не заметил что он заработал ибо исходный код намного запутаннее приведенного, а проверял именно на нем smile

Всем спасибо.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0438 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.