Нет вывода из извлечения данных из -за статистики PING. Как это исправить?JAVA

Программисты JAVA общаются здесь
Anonymous
Нет вывода из извлечения данных из -за статистики PING. Как это исправить?

Сообщение Anonymous »

У меня есть следующая строка, которую я получил в конце результата пинга, я хочу извлечь мин, AVG, MAX и MDEV, используя Regex в java < /p>

[1463895327]PING www.gov.bw (168.167.134.24) 100(128) bytes of data.
[1463895327]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=1 ttl=110 time=868 ms
[1463895328]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=2 ttl=110 time=892 ms
[1463895329]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=3 ttl=110 time=814 ms
[1463895330]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=4 ttl=110 time=1009 ms
[1463895331]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=5 ttl=110 time=1006 ms
[1463895332]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=6 ttl=110 time=984 ms
[1463895333]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=7 ttl=110 time=1004 ms
[1463895334]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=8 ttl=110 time=1006 ms
[1463895335]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=9 ttl=110 time=1013 ms
[1463895336]108 bytes from www.gov.bw (168.167.134.24): icmp_seq=10 ttl=110 time=578 ms
[1463895336]
[1463895336]--- www.gov.bw ping statistics ---
[1463895336]10 packets transmitted, 10 received, 0% packet loss, time 9007ms
[1463895336]rtt min/avg/max/mdev = 578.263/917.875/1013.707/132.095 ms, pipe 2
< /code>

Я хочу извлечь значения из подстроения < /p>

min/avg/max/mdev = 578.263/917.875/1013.707/132.095 ms
< /code>

Каково было бы выражение Regex, которое позволило бы мне извлечь эти 4 значения массив типа двойного? Ожидаемый результат - массив с < /p>

[274.175,430.739,818.328,147.779]
< /code>

Я уже пробовал выражение: < /p>

rtt\s+min\/avg\/max\/mdev\s+=\s+([0-9]+\.[0-9]+)\/([0-9]+\.[0-9]+)\/([0-9]+\.[0-9]+)\/([0-9]+\.[0-9]+)\s+ms
< /code>

Использование < /p>

// No error but all values null

public static String[] parsePingStatisticsMinAvgMaxMdev(String input) throws TimeNotFoundException {
// Capture the rtt min/avg/max/mdev times
Pattern p = Pattern.compile("rtt\\s+min\\/avg\\/max\\/mdev\\s+=\\s+([0-9]+\\.[0-9]+)\\/([0-9]+\\.[0-9]+)\\/([0-9]+\\.[0-9]+)\\/([0-9]+\\.[0-9]+)\\s+ms");
Matcher m = p.matcher(input);
if (m.find()){
int i = 0;
String[] s = new String[4];
while(m.find()){
s = m.group(++i);
}
return s;
}
else
throw new TimeNotFoundException();

}
< /code>

Я не получаю вывода (ниже). Как мне это исправить? < /P>

"C:\Program Files\Java\jdk1.8.0_71\bin\java" ...

Process finished with exit code 0


Подробнее здесь: https://stackoverflow.com/questions/385 ... -to-fix-it

Вернуться в «JAVA»