2016-04-13 3 views
0

Простите мою новинку в java, у меня есть следующая строка (ниже), я пытаюсь ее очистить и извлечь только integer digits. Что было бы правильным Java регулярное выражение, чтобы использовать для достижения своей цели:Как извлечь целое из Java Regex?

Оригинал Строка: uint32_t Count "77 (0x0000004D)"

Желаемая Выход: 77

Я пробовал чтения Java документы на регулярное выражение, но я только получил более запутанной. Я думаю, инженеры EE не вырезаются для этой фантазии трюков кодирования: D

+1

Не могли бы вы дать еще несколько примеров, чтобы указать на шаблон? –

+0

https://docs.oracle.com/javase/tutorial/essential/regex/groups.html –

ответ

0

Вы можете использовать "\\b", который является граница слова:

String regex = "\\b\\d+\\b"; 
Matcher m = Pattern.compile(regex).matcher("uint32_t Count \"77 (0x0000004D)\""); 
m.find(); 
System.out.println(m.group()); //output 77 

"\\d+" находит подстроку цифр, и окружающие его "\\b" гарантирует, что оно не встроено в другое слово/символ.

0

больше примеров, чтобы получить шаблон помогает, но с тем, что вы дали, я могу думать о простом регулярном выражении, которое соответствует группе с данным шаблоном, а затем вы вычеркиваете цитату и получаете целое число.

(["](\d{1,})) 

Я хотел бы предложить вам поиграться регулярное выражение более того here так вы узнаете, как вы практикуете

Смежные вопросы