2017-10-20 115 views
1

如何在Lua中實現vba-like符號*? 我想在字符串"aaabbb"(false)或"aabbds"(true)中比較"aabb*"這樣的模式。Lua實現*

+0

你需要其他的VBA般的特殊功能:'','#','[charlist]'''?[charlist!]? –

回答

2
function string.like(text, pattern) 
    pattern = "^"..pattern:gsub("*", "\0"):gsub("%p", "%%%0"):gsub("%z", ".-").."$" 
    return text:find(pattern) and true or false 
end 

用法是local bool_result = str:like(pattern)

local pattern = "aabb*" 

print(("aaabbb"):like(pattern)) --> false 
print(("aabbds"):like(pattern)) --> true 
+0

什麼,Lu'a?基本上,Ruby語法。第一次看到:) – 7urkm3n