Требуется написать регулярное выражение, которое ищет все числа в строке. Но если предшествующий символ - буква, то это уже не подходит. Число должно быть отдельно стоящим "словом". Я написала вот такое регулярное выржение "[^\\w]\\d+"
, но оно не учитывает случай начала строки.
Попробуйте это: ^(?:[-+0-9]\d*|0)?(?:\.\d+)?$
Требуемое можно реализовать с помощью 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
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый день, есть необходимость добавить рекламу в проект, через Gradle это можно было сделать в 1 строчку, но как быть с libGDX без понятия, пробовал...