首先,我一直在使用這個站點作爲整個腳本編寫過程的參考,它很棒。我很欣賞每個人都在這裏的有用和知識。考慮到這一點,我有一個關於Lua中匹配(模式匹配)的問題。我正在編寫一個腳本,它基本上從文件輸入並將其導入到表中。我正在檢查文件中的特定MAC地址,作爲我正在查詢的主機。Lua腳本模式匹配問題
if macFile then
local file = io.open(macFile)
if file then
for line in file:lines() do
local f = line
i, j = string.find (f, "%x+")
m = string.sub(f, i, j)
table.insert(macTable, m)
end
file:close()
end
這將文件解析成我將用於稍後查詢的格式。一旦該表建成後,我運行模式匹配序列,試圖通過遍歷表和匹配針對當前迭代的方式從表中匹配MAC:
local output = {}
t = "00:00:00:00:00:00"
s = string.gsub(t, ":", "")
for key,value in next,macTable,nil do
a, p = string.find (s, value)
matchFound = string.sub(s, a, p)
table.insert(output, matchFound)
end
這不會返回儘管當任何輸出我在Lua提示符中逐行輸入它,它似乎工作。我相信變量正確傳遞。有什麼建議麼?
什麼'macFile'的內容是什麼? – gwell 2010-08-11 15:58:26