JavaRush/Java блог/Архив info.javarush/Вопрос по применению регулярных выражений
GreenFrog
22 уровень

Вопрос по применению регулярных выражений

Статья из группы Архив info.javarush
участников
Добрый день, джаварашевцы и джаварашатессы! Прошу подсказать следующее, есть код: Pattern p = Pattern.compile("[a-z]+"); Matcher m = p.matcher("A mutable sequence of characters."); int numberOfChar = m.groupCount(); System.out.println(numberOfChar); В консоль должно быть выведено количество символов от a до z (c учетом повторения) в указанной строке. Выводит ноль. Никак не пойму почему. Уже несколько статей прочитал по регулярным выражениям. Не помогает. Почитал документацию Oracle по классам Pattern, Matcher. Опять не помогло. Наверное глаз замылился, не вижу чего-то очевидного. Прошу бескорыстно помочь. И достичь цели - пройти 18 и 19 уровни до конца 2017 года. С уважением, Зеленая лягушка.
Комментарии (4)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ferasinka
Уровень 32
15 декабря 2017, 13:49

        Pattern p = Pattern.compile("[a-z]{1}");
        Matcher m = p.matcher("A mutable sequence of characters.");
    
        int numberOfChar = 0;
        
        while (m.find()) {
            numberOfChar++;
        }
        
        System.out.println(numberOfChar);


Удобный сайт для тестирования регулярных выражений: regex101.com
GreenFrog
Уровень 22
15 декабря 2017, 14:15
– Б*ядь! – от души сказал капитан.
© О. Дивов «Мы идем на Кюрасао»
Большое спасибо, ferasinka !
Ваш вариант работает так как надо. Все таки я не правильно представляю себе работу паттернов в регулярных выражениях. Буду разбираться.
Такое чувство, что вместо учебника физики читал библию и теперь удивляешься, что мир устроен совершенно не понятно.
Еще раз спасибо. Показали мне дверь и теперь я непременно в нее войду. Правда дальше еще двери будут, ну и ХС.

Зеленая лягушка.
odium
Уровень 40
15 декабря 2017, 19:32
протестировать регэксп можно и средствами IDEA — курсор на выражение — alt enter — check regexp, это на всякий
GreenFrog
Уровень 22
15 декабря 2017, 12:54
Дополнение №1. Судя по моим программным экскрементам экспериментам, на соответствие паттерну проверяется строка целиком, а не посимвольно. Думаю дальше. Но у вас есть еще шанс успеть подсказать мне.
Зеленая лягушка.