gpt4 book ai didi

regex - Lua 中使用 .gsub() 的正则表达式

转载 作者:行者123 更新时间:2023-12-04 21:27:58 25 4
gpt4 key购买 nike

好吧,我想我把事情复杂化了,现在我迷路了。基本上,我需要将其从 Perl 翻译成 Lua:

my $mem;
my $memfree;
open(FILE, 'proc/meminfo');
while (<FILE>)
{
if (m/MemTotal/)
{
$mem = $_;
$mem =~ s/.*:(.*)/$1/;
}

}
close(FILE);

到目前为止,我已经写了这个:
for Line in io.lines("/proc/meminfo") do
if Line:find("MemTotal") then
Mem = Line
Mem = string.gsub(Mem, ".*", ".*", 1)
end
end

但这显然是错误的。我没有得到什么?我明白为什么它是错的,它实际上在做什么以及为什么当我这样做时
print(Mem)

它返回
.*

但我不明白什么是正确的方法。正则表达式让我困惑!

最佳答案

下面的代码解析该文件的内容并将其放入一个表中:

meminfo={}
for Line in io.lines("/proc/meminfo") do
local k,v=Line:match("(.-): *(%d+)")
if k~=nil and v~=nil then meminfo[k]=tonumber(v) end
end

然后你可以做
print(meminfo.MemTotal)

关于regex - Lua 中使用 .gsub() 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3254671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com