regex в java не захватывает последнюю группу [duplicate]

Очистить и перестроить

. «Чистая» сборки может удалить «мертвую древесину», которая может быть оставлена ​​лежащей рядом с предыдущими сборками, неудачными сборками, неполными сборками и другими проблемами сборки.

В общем случае среда IDE или сборка будет включать в себя некоторую форму «чистой» функции, но это может быть неправильно настроено (например, в ручном файле) или может завершиться неудачей (например, промежуточные или результирующие двоичные файлы - только).

После завершения «очистки» убедитесь, что «чистый» преуспел, и весь сгенерированный промежуточный файл (например, автоматический файл makefile) был успешно удален.

Этот процесс можно рассматривать как конечный вариант, но часто является хорошим первым шагом ; особенно если недавно был добавлен код, связанный с ошибкой (локально или из исходного репозитория).

2
задан nhahtdh 11 January 2014 в 17:13
поделиться

1 ответ

Вот мое решение ... Я просто предоставил регулярное выражение регулярного выражения, поскольку @SotiriosDelimanolis прокомментировал.

public static void printGroups() {
        String sp = "((\\(\\\\d\\{1,2\\}\\))\\/(\\(\\\\d\\{1,2\\}\\))\\/(\\(\\\\d\\{2,4\\}\\)))";
        Pattern p = Pattern.compile(sp);
        Matcher m = p.matcher("(\\d{1,2})/(\\d{1,2})/(\\d{2,4})");
        if (m.matches())
            for (int i = 0; i <= m.groupCount(); i++)
                System.out.println(m.group(i));
    }

Обратите внимание, что вы не можете удалить if -статье, потому что для того, чтобы используйте метод group, сначала вы должны вызвать метод matches (я этого не знал!). См. эту ссылку как ссылку на нее.

Надеюсь, это то, о чем вы просили ...

1
ответ дан Paolo 25 August 2018 в 10:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: