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

我正在寻找一种在字符串中查找非常特定的字符集的方法: "(),:;<>@[\]

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

我认为不会有模式满足我的需求,因为Lua模式的限制

我很彻底地阅读了Lua手册的模式匹配部分,但仍然无法弄清楚。

有人知道我如何识别给定字符串是否包含任何这些字符吗?

请注意,如果有帮助的话,我不需要知道任何有关哪个字符或字符串中的位置的信息。

点赞
用户3832970
用户3832970

为了检查一个字符串是否包含", (, ), ,, :, ;, <, >, @, [, \ 或者 ] , 可以使用以下方法:

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

参考Lua demo

2020-02-05 13:18:26