Python 正则表达式 - 匹配、比较和决定

标签 python regex dictionary

我有一个字典,其中有不同的 Ip 作为键,它的 ping 结果作为值。我只想在 ping 结果通过特定条件时继续我的脚本

假设ping结果如下(字典值):

10 packets transmitted, 10 packets received, 0.00% packet loss

我创建了一个正则表达式并提取了每个值,如下所示:

match = re.search(r'(\d+\s* packet\w* transmitted), (\d+\s* packet\w* received), (\d+\.\d+ packet loss)',str,re.M|re.I)

>>> match.group(3)
'10.00% packet loss'

我已经提取了值..

现在我想写一个带有条件的正则表达式,通过它我将要求脚本仅在我字典中每个 Ip;s 的丢包率小于 5% 时才继续执行。

我可以考虑再次从数据包丢失中获取数字然后进行比较,但只是想知道是否有更好的方法来做到这一点?

如果有任何想法,请分享..

最佳答案

你不需要正则表达式:

s = "10 packets transmitted, 10 packets received, 0.00% packet loss"
trans,recv,loss = s.split(",")

print(trans,recv,loss)
('10 packets transmitted', ' 10 packets received', ' 0.00% packet loss')
print(float(loss.split("%")[0] > 5))
False

如果你有一个字典,使用 all 检查是否每个值都大于 5%

关于Python 正则表达式 - 匹配、比较和决定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27583042/

相关文章:

python - 不断检查列表并在列表中有项目时执行某些操作

python - 亚马逊 mws 访问欧洲市场被拒绝

javascript - 替换 javascript 中的 unicode 匹配项

PHP array_reduce 初始参数为数组

python - 交换字典的内容

c# - 在 C# 中将一个 int 数组拆分为多个 int 数组的列表

php - 正则表达式删除 [标题]

python - 在 Python 中使用正则表达式匹配 JSON 键

python - 从字典中选择随机值

python - Django 1.11 - 项目目录中的模板文件夹