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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> регексп, я сейчас долбанусь! 
:(
    Опции темы
Karadul
Дата 13.11.2012, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

    public static void main(String[] args) {
        
        String regex = "3";
        String str = "3";
        System.out.println(Pattern.matches(regex, str));
        Matcher m;
        System.out.println(m = Pattern.compile(regex).matcher(str));
        System.out.println(m.start() + "" + m.end());
        
    }


Код

Exception in thread "main" java.lang.IllegalStateException: No match available
    at java.util.regex.Matcher.start(Unknown Source)
    at regexp.matcherTest.main(matcherTest.java:18)
true
java.util.regex.Matcher[pattern=3 region=0,1 lastmatch=]



Почему не находит??
PM MAIL   Вверх
Stolzen
Дата 13.11.2012, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

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



Попробуйте вызвать m.find() перед этим


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Karadul
Дата 13.11.2012, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Какой ущербный апи регекспов в яве.
PM MAIL   Вверх
Pawl
Дата 14.11.2012, 21:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Karadul @  13.11.2012,  17:26 Найти цитируемый пост)
Какой ущербный апи регекспов в яве.

Прошу прощения за оффтоп, но, "если Вас от нее так тошнит, почему же тогда Вы с ней спите?" smile 


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
Karadul
Дата 15.11.2012, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Потому что надо?

Раз уже апнули тему - почему ява допускает такой косяк? Почему не бросать исключение, если find() не был вызван, или изменить апи так, чтобы проблема, что что-то не вызвали, не возникала?

Это сообщение отредактировал(а) Karadul - 15.11.2012, 18:31
PM MAIL   Вверх
aleksandy
Дата 23.11.2012, 09:01 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Karadul @  15.11.2012,  18:30 Найти цитируемый пост)
Почему не бросать исключение, если find() не был вызван

А вот это?

Цитата(Karadul @  13.11.2012,  04:25 Найти цитируемый пост)
Код

Exception in thread "main" java.lang.IllegalStateException: No match available
    at java.util.regex.Matcher.start(Unknown Source)
    at regexp.matcherTest.main(matcherTest.java:18
)


Все непонимание из-за нежелания читать документацию, в которой описаны возможные исключения.
PM   Вверх
Karadul
Дата 5.12.2012, 22:21 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



И попробуй пойми что ей надо. Почему не написать "ты же find не вызвал"?

Как-то влом из-за такого элементарного кода сразу читать талмуды. Да и вообще код переусложненный по сравнению с питоновским re.match(regexp, string). Нафига такой делать?
PM MAIL   Вверх
LSD
Дата 6.12.2012, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(Karadul @  5.12.2012,  23:21 Найти цитируемый пост)
Нафига такой делать?

Я бы объяснил, но поскольку для тебя даже JavaDoc из пары строк, это талмуд. То думаю и объяснение будет "многабукаф ниасилил".


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Karadul
Дата 6.12.2012, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Все относительно. Для регекспа 3 вызова вместо одного - это в 3 раза больше smile
PM MAIL   Вверх
Stolzen
Дата 6.12.2012, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

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



Вас на джаве никто силой не держит - на питоне работы тоже хватает. 


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
LSD
Дата 6.12.2012, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(Karadul @  6.12.2012,  14:32 Найти цитируемый пост)
Все относительно. Для регекспа 3 вызова вместо одного - это в 3 раза больше

Если бы не ленился читать документацию, то нашел бы:
Код

String text = "12345";
logger.info("'{}' is {}digit", text, text.matches("\\d+") ? "" : "not ");



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Karadul
Дата 8.12.2012, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А тебе приходило в голову, что люди могут писать на нескольких языках программирования, и по каждому чиху не кидаются читать талмуды на вещи, которые они вроде бы и так знают?

Неужели такие элементарные вещи, как регекспы, не могут быть сколько-нибудь логичными? Или жавоиды перед тем, как попользоваться чужим туалетом, спрашивают документацию на него?
PM MAIL   Вверх
Farmazon
Дата 8.12.2012, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Разработчик
**


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

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



именно так. У казахов в туалете бумаги нет, помни об этом.

Добавлено через 1 минуту и 17 секунд
Вообще, дело привычки. Мне вот в питоне тернарный оператор не нравится и что?...


--------------------
Таково моё общее мнение.
PM MAIL WWW   Вверх
Pawl
Дата 8.12.2012, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Karadul @  8.12.2012,  18:56 Найти цитируемый пост)
люди могут писать на нескольких языках программирования

А позвольте узнать - чисто академического интереса ради - Вашу градацию языков программирования по степени удобства и универсальности их применения? Может, есть некий идеальный ЯП для посвященных, а я тут сижу, туплю над джавой, иногда - над Delphi, очень редко - над С++... А душа требует чего-то большего, чего-то настоящего!


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
dorogoyIV
Дата 9.12.2012, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

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



Цитата(Karadul @  8.12.2012,  18:56 Найти цитируемый пост)
А тебе приходило в голову, что люди могут писать на нескольких языках программирования,

и что?!
я на восьми языках пишу.
и для каждого читаю мануалы!

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

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

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


 




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


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

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