如何创建仅匹配特定字符集的模式?

How do I create a pattern to only match a specific set of characters?

我正在寻找一种在字符串中搜索一组非常具体的字符的方法:"(),:;<>@[\]

specialChar = str:find("[\"][%(][%)][,][:][;][<][>][@][%[][%]][\]")

我在想,因为Limitations of Lua patterns,没有模式可以满足我的需要。

我已经非常彻底地阅读了 Lua Manual 模式匹配部分,但似乎仍然无法理解。

有谁知道我可以识别给定字符串是否包含任何这些字符的方法?

注意,如果有帮助的话,我不需要知道它是哪个字符或它在字符串中的什么位置。

检查字符串是否包含"(),:;<>@[\] 您可以使用

function ContainsSpecialChar(input)
    return string.find(input, "[\"(),:;<>@[\%]]")
end

Lua demo