Не используйте регулярные выражения для анализа структурированных документов.Есть способы получше.Теперь, если кто-то вынудил вас использовать регулярное выражение для выполнения этой работы, направив пистолет в вашу голову, вы можете использовать это:
try {
Pattern regex = Pattern.compile("[-+]?\\b[0-9]*\\.?[0-9]+\\b");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
// matched text: regexMatcher.group()
// match start: regexMatcher.start()
// match end: regexMatcher.end()
}
} catch (PatternSyntaxException ex) {
// Syntax error in the regular expression
}
Это будет перехватывать все числа целыми или не отрицательными или положительными с необязательной целочисленной частью.
Обратите внимание, что не совпадет с номерами с научной нотацией!