我有一个监控 CPU 和 GPU 温度的外部应用程序......
我使用 Lua 和外星人扩展来获取这些值(通过GetWindowText)并对这些值进行一些模式匹配,有效地从字符串中提取温度数字,默认情况下显示为CPU 67.875 °C
......
但也许我对 LUA 中的模式如何工作有错误的想法(因为它们看起来并不完全像正则表达式)?
我使用的模式[%d]+[.%d+]*
应该匹配 0 到 100.0 之间的任何数字,对吗?然而奇怪的是,当值达到 56.5 度左右时
,我得到了令人难以置信的奇怪输出(见链接)。
为什么会这样?
以及如何以 0 到 100 的格式提取正确的浮点值(作为字符串)XYY.ZZZ
,其中X
不是可选的,Y
是可选的,并且.
是可选的,除非Z
存在?