2015-07-20 2 views
1

Я по-прежнему долгое время занимаю до match a string, который содержит специальные символы (знаки препинания, подчеркивания и т. Д.). Как я могу заставить его работать с шаблонами?Найти любые специальные символы в строке

if string.match(mystr, '???') ~= nil then 
    print('Invalid characters.') 
end 
+1

головки вверх, Lua не имеет стандартный движок регулярных выражений - это есть то, что называется [модели] (http://www.lua.org/manual/5.2/manual.html#6.4.1). – Oka

+1

'if string.find (mystr, '% p') then' –

ответ

1

Наборы символов [...] - ваш друг здесь.

.*[@!#$%^&*()?<>].* 
+0

В этом случае, не лучший ли выбор, чтобы отрицать ** все, что не является альфа-или числовой **? (также следует избегать пробельных символов). –

+0

@AlexandreSeverino, в этом случае, отрицательный набор символов, вероятно, лучше всего. '[^ любые символы, которые вы разрешаете]' –

+1

@AlexandreSeverino try '[^ a-zA-Z0-9]' –

Смежные вопросы