我正在尝试解析一个字符串,例如:&1 first &2 second &4 fourth \\
,并从中构建一个表
t = {1=first, 2=second, 4=fourth}
一般来说,我对正则表达式不是很有经验,所以我的天真尝试(\\
暂时忽略和表格部分)是
local s = [[&1 first &2 second &4 fourth \\]]
for k,v in string.gmatch(s, "&(%d+)(.-)&") do
print("k = "..k..", v = "..v)
end
当我期望看到两个捕获的对时,它只给出了第一个捕获的对。我做了一些阅读并找到了lpeg
图书馆,但它对我来说非常陌生。这里需要吗lpeg
?谁能解释我的错误?