Lua实现*

Lua实现*

问题描述:

如何在Lua中实现vba-like符号*? 我想在字符串"aaabbb"(false)或"aabbds"(true)中比较"aabb*"这样的模式。Lua实现*

+0

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

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