java如何用regex解析ping结果
我想要的是逐行解析ping的结果。这对我来说有点棘手,我尝试了很多东西,但是。。。我在安卓上使用ping
例如:
PING google.com (173.194.35.9) 56(84) bytes of data.
64 bytes from mil01s16-in-f9.1e100.net (173.194.35.9): icmp_seq=1 ttl=52 time=33.0 ms
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 33.086/33.086/33.086/0.000 ms
在第一行,我想要Ip地址,“56(84)字节的数据”。第二行“64字节”,1,52,33.0毫秒等
如果直接使用平安IP,它会有一点变化
PING 192.168.0.12 (192.168.0.12) 56(84) bytes of data.
64 bytes from 192.168.0.12: icmp_seq=1 ttl=64 time=0.134 ms
--- 192.168.0.12 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.134/0.134/0.134/0.000 ms
但也应该有效
如果我有一个小解释和一个答案,它会很酷
非常感谢
# 1 楼答案
描述
这个表达式将捕获IP、数据字节、字节、ICMP_SEQ、ttl、时间。我找不到
etc
范例
实例:http://www.rubular.com/r/uEDoEZwY7U
示例文本
示例代码
捕获组
# 2 楼答案
我想你只需要解析第二行
因此:
输出:
Edit为整个输入(第一个场景)添加了示例,并为
Pattern
添加了Pattern.MULTILINE
标志