Qual expressão regular eu utilizo, para bloquear caracteres especias?

Eu tenho a seguinte dúvida, gostaria de saber, qual a expressão regular eu utilizo para poder bloquear caractere especias (#@!%, entre outros). Eu estava utilizando o ^-w, e funcionou, mas, não sei o que procedeu depois, que agora ele não bloqueia corretamente, e ao final da execução ele aponta erro.

No caso essa expressão irei adicionar nessa linha de código:

super.insertString(offs, str.replaceAll("[aA0-zZ9]", ""), a);

e depois em outro momento definirei na classe que eu quero o bloqueio. Desde já agradeço a atenção.

PS: estou utilizando o “PlainDocument”, e os outros tópicos aqui do fórum, não conseguiram me ajudar.

ola

se vc precisa aceitar caractereis alfanumeros ( a-z A-Z 0-9 ) alem do espaço em branco (?), vc pode usar uma expressão assim

[a-zA-Z0-9]

e a lista negada

[^a-zA-Z0-9]

lembrando de adicionar o espaço se ele fizer sentido.

isso é facilmente substituido pela expressão \\w

1 curtida

peczenyj muito obrigado, eu demorei um pouquinho pra entender a lógica, mas realmente deu certo!