Разрешить только выбранные charcters на основе regex в EditText

Я хочу разрешить пользователям вводить определенные символы на основе регулярного выражения в моих приложениях для Android. Как мне это достичь?

Использовал TextWatcher как @Matt Ball.

 @Override public void afterTextChanged(Editable s) { String text = s.toString(); int length = text.length(); if(length > 0 && !Pattern.matches(PATTERN, text)) { s.delete(length - 1, length); } } 

Редактировать Хотя TextWatcher работает, было бы чище использовать InputFilter . Проверьте этот пример .

Попробуйте: Если символ вводит совпадения / [a-zA-Z0-9 {вставляем действительные символы здесь}] /, то разрешите его, иначе нет.