我有一个包含以下数据的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
问题在于当代码遇到起始和结束值为空的行时,正则表达式会失败,所有字段都为nil。
我以为使用*表示0或更多... 我似乎找不到我的错误/打字错误。
谢谢。
"(%+%d+),([0-9:]*),([0-9:]*),(%d*),(%d*),(.*)"
进行匹配。 - Wiktor Stribiżew