我有一个包含如下数据的 csv 文件:
+12345678901,08:00:00,12:00:00,1111100,35703,test.domain.net
+12345678901,,,0000000,212,test.domain.net
我正在尝试编写将遍历每一行的 lua 代码,并创建一个值数组,如下所示:
local mylist = {}
for line in io.lines("data/dd.csv") do
local id, start, finish, dow, int, domain = line:match("(+%d+),(%d*:*),(%d*:*),(%d*),(%d*),(%a*.*)")
mylist[#mylist + 1] = { id = id, start = start, finish = finish, dow = dow, int = int, domain = domain}
print(mylist[#mylist]['id'])
end
问题是,当代码遇到开始和结束值为空的行时,正则表达式失败并且所有字段都为零。
我认为使用 * 意味着 0 或更多... 我似乎找不到我的错误/错字。
谢谢。
最佳答案
这种模式适合我:
"(.-),(.-),(.-),(.-),(.-),(.-)$"
关于regex - 使用 lua 脚本解析 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39902720/