这模式匹配在Lua中如何实现?

2026-04-01 19:301阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计316个文字,预计阅读时间需要2分钟。

这模式匹配在Lua中如何实现?

使用Lua将以下字符串为表:- 数据:对齐.我还没有找到在此网站上编写格式的数据- IP:192.168.128.12- MAC:AF:3G:9F:C9:32:2E- Expires:Fri Aug 13 20:04:53 2010- Time Left:11040 seconds- 结果应放在中

我使用Lua将以下字符串拆分为表:
(数据彼此对齐.我没有找到如何在此网站上编写格式的数据)

这模式匹配在Lua中如何实现?

IP: 192.168.128.12
MAC: AF:3G:9F:c9:32:2E
Expires: Fri Aug 13 20:04:53 2010
Time Left: 11040 seconds

结果应该放在这样的表中:

t = {“IP” : “192.168.128.12”, “MAC” : “AF:3G:9F:c9:32:2E”, “Expires” : “Fri Aug 13 20:04:53 2010”, “Time Left” : “11040 seconds”}

我尝试过:

for k,v in string.gmatch(data, "([%w]+):([%w%p%s]+\n") do t[k] = v end

那是我最好的尝试.

如果我理解你的用例,以下应该可以解决问题.可能需要稍微调整一下.

local s = "IP: 192.168.128.12 MAC: AF:3G:9F:c9:32:2E Expires: Fri Aug 13 20:04:53 2010 Time Left: 11040 seconds" local result = {} result["IP"] = s:match("IP: (%d+.%d+.%d+.%d+)") result["MAC"] = s:match("MAC: (%w+:%w+:%w+:%w+:%w+:%w+)") result["Expires"] = s:match("Expires: (%w+ %w+ %d+ %d+:%d+:%d+ %d+)") result["Time Left"] = s:match("Time Left: (%d+ %w+)")

本文共计316个文字,预计阅读时间需要2分钟。

这模式匹配在Lua中如何实现?

使用Lua将以下字符串为表:- 数据:对齐.我还没有找到在此网站上编写格式的数据- IP:192.168.128.12- MAC:AF:3G:9F:C9:32:2E- Expires:Fri Aug 13 20:04:53 2010- Time Left:11040 seconds- 结果应放在中

我使用Lua将以下字符串拆分为表:
(数据彼此对齐.我没有找到如何在此网站上编写格式的数据)

这模式匹配在Lua中如何实现?

IP: 192.168.128.12
MAC: AF:3G:9F:c9:32:2E
Expires: Fri Aug 13 20:04:53 2010
Time Left: 11040 seconds

结果应该放在这样的表中:

t = {“IP” : “192.168.128.12”, “MAC” : “AF:3G:9F:c9:32:2E”, “Expires” : “Fri Aug 13 20:04:53 2010”, “Time Left” : “11040 seconds”}

我尝试过:

for k,v in string.gmatch(data, "([%w]+):([%w%p%s]+\n") do t[k] = v end

那是我最好的尝试.

如果我理解你的用例,以下应该可以解决问题.可能需要稍微调整一下.

local s = "IP: 192.168.128.12 MAC: AF:3G:9F:c9:32:2E Expires: Fri Aug 13 20:04:53 2010 Time Left: 11040 seconds" local result = {} result["IP"] = s:match("IP: (%d+.%d+.%d+.%d+)") result["MAC"] = s:match("MAC: (%w+:%w+:%w+:%w+:%w+:%w+)") result["Expires"] = s:match("Expires: (%w+ %w+ %d+ %d+:%d+:%d+ %d+)") result["Time Left"] = s:match("Time Left: (%d+ %w+)")