Как создать шаблон, соответствующий только определенному набору символов c? - PullRequest
3 голосов
/ 05 февраля 2020

Я ищу способ поиска в строке для очень специфического c набора символов: "(),:;<>@[\]

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

Я думаю, что не будет никакого шаблона, который бы удовлетворял моим нужно из-за ограничений Lua моделей .

Я прочитал Lua Руководство секцию сопоставления с образцом довольно тщательно, но все еще не могу понять это.

Кто-нибудь знает, как я могу определить, содержит ли данная строка какой-либо из этих символов?

Заметьте, мне не нужно , чтобы знать что-нибудь о том, какой символ или где в строке он находится, если это помогает.

1 Ответ

5 голосов
/ 05 февраля 2020

Чтобы проверить, содержит ли строка ", (, ), ,, :, ;, <, >, @, [, \ или ] вы можете использовать

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

См. Lua демо

...