Если вы уверены, что это всегда будет первое число, которое вы можете использовать для регулярного выражения \d+\.\d+
(но учтите, что обратные слеши необходимо экранировать в строковых литералах Java).
Попробуйте этот код:
String input = "Host is up (0.0020s latency).";
Pattern pattern = Pattern.compile("\\d+\\.\\d+");
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
System.out.println(matcher.group());
}
Смотрите, как он работает в режиме онлайн: ideone
Вы также можете включить некоторые регулярные выражения в регулярное выражение, чтобы уменьшить риск совпадения с неправильным числом.Чтобы сделать именно так, как вы просили в вопросе (например, соответствие между (
и s
), используйте это регулярное выражение:
\((\d+\.\d+)s
Смотрите, как он работает в режиме онлайн: ideone