正则表达式:从ping命令输出中获取数字

时间:2016-10-25 06:06:44

标签: python regex python-2.7

a = r'5 packet(s) received'
reg = re.compile(r'(\d*) packet(s) received')
result = re.findall(reg,a)
for i in result:
    print i

我是python的首发。我必须编写一个脚本来检查链接状态。在“Ping”命令的输出中,我必须捕获字符串中收到的包的数量,例如。 5 packet(s) received。 我对re的尝试无效。 有人可以纠正我的错误吗?

1 个答案:

答案 0 :(得分:3)

括号在正则表达式中具有特殊含义。他们创建团体。为了实际匹配括号,他们将使用\进行转义。

所以,替换这个:

reg = re.compile(r'(\d*) packet(s) received')

用这个:

reg = re.compile(r'(\d*) packet\(s\) received')