基于百分比值的条件正则表达式

Conditional Regex for Percentage based values

我一直不太擅长正则表达式,但我确实需要从这些日志条目中获取百分比信息;但是,warn/critical 消息会四处移动,具体取决于警告在 In 或 Out 使用中的位置。我只是无法弄清楚正则表达式。以下是两个显示进出问题的示例条目:

    ["XXXXXXX"], (up), MAC: XX:XX:XX:XX:XX:XX, Speed: 2 GBit/s, In: 0 Bit/s (0%), Out: 6.53 GBit/s (warn/crit at 1.6 GBit/s/1.8 GBit/s) (326.45%)(!!)   
    ["XXXXXXX"], (up), MAC: XX:XX:XX:XX:XX:XX, Speed: 2 GBit/s, In: 0 Bit/s (warn/crit at 1.6 GBit/s/1.8 GBit/s) (95.45%), Out: 6.53 GBit/s (32.00%)(!!)

最终我需要使用捕获组来捕获进出利用率。但是我尝试的每个正则表达式都只能找到一个百分比。对此的帮助将不胜感激。提前致谢。

编辑显示预期结果:

对于每一行,正则表达式捕获组将识别进出,以便程序可以看到进出利用率。该程序需要来自每个日志条目的键值对,如下所示:

输入:0% OUT:326.45%

IN:95.45% OUT:32.00%

你需要这样的东西吗?

In:.+\(([0-9\.]+%)\).+Out:.+\(([0-9\.]+%)

如果您只需要提取带有百分比信息的值,那么它可以提供帮助

https://regex101.com/r/B9pZeO/1