Найти все числа в строке

461
26 июля 2017, 21:17

Требуется написать регулярное выражение, которое ищет все числа в строке. Но если предшествующий символ - буква, то это уже не подходит. Число должно быть отдельно стоящим "словом". Я написала вот такое регулярное выржение "[^\\w]\\d+", но оно не учитывает случай начала строки.

Answer 1

Попробуйте это: ^(?:[-+0-9]\d*|0)?(?:\.\d+)?$

Answer 2

Требуемое можно реализовать с помощью word boundaries:

String source = "12 a34 5b6 78c 005 9";
Pattern pattern = Pattern.compile("\\b[\\d]+\\b");
Matcher matcher = pattern.matcher(source);
while (matcher.find()) {
    System.out.println(matcher.group());
}

Вывод на консоль:

12
005
9
READ ALSO
Java коллекции (убрать скобки на выходе)

Java коллекции (убрать скобки на выходе)

Создал коллекцию, внес данные, на выходе получаю:

285
Разделение тестов на группы с junit

Разделение тестов на группы с junit

У меня есть проект с использованием spring boot

198
Добавить библиотеку Google Play Services в AIDE (libGDX)

Добавить библиотеку Google Play Services в AIDE (libGDX)

Добрый день, есть необходимость добавить рекламу в проект, через Gradle это можно было сделать в 1 строчку, но как быть с libGDX без понятия, пробовал...

367