我正在使用 Nagiosgraph 尝试创建一个正则表达式来匹配来自 Nagios 插件的多行输出数据,但我无法让它输出超过第一个匹配项。我也尝试过使用和不使用 /g 修饰符以及许多其他人在其他讨论中发布的许多其他建议,但仍然没有得到任何结果。
我正在使用的数据格式为:
output:DISK: C - WARNING : Percent Used : 85.5% (WARN: 85% / CRIT: 95%), Total : 49.9 GiB, Used : 42.7 GiB, Free : 7.2 GiB
DISK: C(id: 1) - WARNING : Percent Used : 85.5% (WARN: 85% / CRIT: 95%), Total : 49.9 GiB, Used : 42.7 GiB, Free : 7.2 GiB
DISK: D(id: 2) - OK : Percent Used : 13.7% (WARN: 85% / CRIT: 95%), Total : 84.6 GiB, Used : 11.6 GiB, Free : 73 GiB
DISK: E(id: 3) - OK : Percent Used : 19.6% (WARN: 85% / CRIT: 95%), Total : 418.6 GiB, Used : 82.2 GiB, Free : 336.3 GiB
我正在使用的正则表达式是:
/.*?DISK: (\w)[(]id: [.0-9]+[)].*?Percent Used : ([.0-9]+%).*?/g
我想要的只是磁盘 ID 和用于具有“id”值的每一行的 %,但是当我运行生成的 var 时,它只匹配第一个实例(“1”和“85.5%”)。
我在这里遗漏了一些明显的东西吗?