Вы можете использовать
Total:\s*\$?\d+(?:[-.]\d+)?
См. Демоверсию regex .
Детали
Total:
- буквальная подстрока
\s*
- 0+ пробелов
\$?
- необязательный $
символ
\d+
- 1+ цифр
(?:[-.]\d+)?
- необязательная группа без захвата, соответствующая 1 или 0 вхождениям:
[-.]
- либо -
, либо .
\d+
- 1 или более цифр.
В Java:
Pattern p = Pattern.compile("Total:\\s*\\$?\\d+(?:[-.]\\d+)?");
Если вам нужно извлечь значение, используйте группу захвата вокруг шаблона, который вам нужно извлечь (например, \$?\d+(?:[-.]\d+)?
), и получите доступ к значению группы, например
Pattern p = Pattern.compile("Total:\\s*(\\$?\\d+(?:[-.]\\d+)?)");
Matcher m = p.matcher(result);
while (m.find()) {
System.out.println(m.group(1));
}