Use classes POSIX. Use \w
. Ponto final.
Maaaaaaas se seu aplicativo não reconhece ambos, ou seu sistema não está configurado para a localidade correta, há um remendo que não é 100%, mas pode ajudar.
Você pode usar uma lista com um intervalo aproximado, que pega todos os caracteres acentuados que queremos, porém traz consigo alguns lixinhos no meio.
Confira na tabela ASCII no fim do guia, que podemos usar o intervalo À-ü
para englobar todos os acentuados, ou ainda À-Ü
e à-ü
caso se queria só maiúsculas ou minúsculas. Os lixos que ganhamos de brinde usando esses intervalos são coisas como "äåæËÎÏÐðÑ×÷ØÝÞß", mas como eles não são muito comuns em nossos documentos, a princípio não há muito problema em utilizá-los.
Mas fique atento, se alguma coisa estiver errada pode ser que por azar o texto contenha um desses caracteres, e você não possa usar o remendo, mas é difícil. Então, vamos à listagem:
classe POSIX remendo ----------------------------------- [[:lower:]] [a-zà-ü] [[:upper:]] [A-ZÀ-Ü] [[:alpha:]] [A-Za-zÀ-ü] [[:alnum:]] [A-Za-zÀ-ü0-9]