在Python中从字符串中提取特定值

时间:2012-11-29 20:02:23

标签: python string parsing extract

我正在尝试从.nmap文件中取出IP地址的总数和主机数量。在下面的例子中,我想取出值“512”和值“17”。

# Nmap done at Tue Nov 27 10:09:18 2012 -- 512 IP addresses (17 hosts up) scanned in 143.58 seconds

然后我想将这些值存储在两个单独的数组中(总计,在线),这样我就可以计算出一个总计。我无法想出一种从该行中取出那些特定值的方法。它不会总是512或17;它可能更小/更大。

我需要在python中实现这一点。我已经有了逐行解析文件的代码。我只需要一种方法来获取这些数据。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

类似的东西:

In [53]: strs="# Nmap done at Tue Nov 27 10:09:18 2012 -- 512 IP addresses (17 hosts up) scanned in 143.58 seconds"

In [55]: re.findall("(\d+)\s+IP address",strs)
Out[55]: ['512']

In [56]: re.findall("(\d+)\s+hosts up",strs)
Out[56]: ['17']