Lua字符串模式

我正在尝试解析一个字符串,但我不熟悉模式匹配。

这是我的代码:

str = "One[0:0,0,0,0,0,0,0,0,0,0,0,0:1][0:1,0,1,0,0,0,1,1,1,0,0,0:0.5]/Two[0:0,0,0,0,0,0,0,0,0,0,0,0:1.5]/"

for i in string.gmatch(str, "[%a%s]*[%[%]%d:,]*/") do
print("sequence: "..i)
end

它应该打印:

One[0:0,0,0,0,0,0,0,0,0,0,0,0:1][0:1,0,1,0,0,0,1,1,1,0,0,0:0.5] Two[0:0,0,0,0,0,0,0,0,0,0,0,0:1.5]

但它打印:

sequence: 5]/ sequence: 5]/

点赞
用户1442917
用户1442917

你的模式中缺少 ."[%a%s]*[%[%]%d:%.,]*/",所以 0.51.5 无法匹配。它只匹配最后一个数字。

2013-01-27 05:05:53