-- Character classes: %a for letters,
-- %d for digits, %w for both
local char1 = "A"
local is_letter = char1:match("%a") ~= nil
local is_digit = char1:match("%d") ~= nil
local is_alnum = char1:match("%w") ~= nil
-- is_letter = true
-- is_digit = false
-- is_alnum = true
-- %p is punctuation, %s is a space
local char2 = "$"
local is_punct = char2:match("%p") ~= nil
-- is_punct = true
local space = " "
local is_space = space:match("%s") ~= nil
-- is_space = true
-- A fixed list of chars: plain search
local symbol_list = "@#$%^&*"
local is_in_list =
symbol_list:find(char2, 1, true) ~= nil
-- is_in_list = true
print("is_letter = " .. tostring(is_letter))
print("is_digit = " .. tostring(is_digit))
print("is_alnum = " .. tostring(is_alnum))
print("is_punct = " .. tostring(is_punct))
print("is_space = " .. tostring(is_space))
print("is_in_list = " .. tostring(is_in_list))