1
resposta

Sobre acentuações e outros caracteres específicos

Boa madrugada :D

A minha dúvida é bem simples, prof falou em aula que geralmente temos de adicionar na regex outros caracteres peculiares da nossa língua portuguesa bem como ãé, cedilha e etc. Existe algum meta-char ou atalho que abarque esses caracteres ou é realmente preciso especificar um por um?

1 resposta

Oi, tudo bem?

Desculpe a demora em te responder!

Sim, existem atalhos que podem ser usados para reconhecer caracteres acentuados ou não. Esses atalhos são chamados de classes de caracteres Unicode ou Unicode character classes.

Algumas das classes de caracteres Unicode que podem ser usadas para reconhecer caracteres acentuados em expressões regulares são:

  • \p{L} : representa qualquer letra Unicode, incluindo letras acentuadas. É equivalente a [[:alpha:]];
  • \p{M} : representa qualquer caractere de marca de diacrítico Unicode, incluindo acentos, cedilhas, tils, etc;
  • \p{N} : representa qualquer dígito Unicode, incluindo dígitos com acentos, como ①, ②, ③, etc;

Aqui está um exemplo de uma expressão regular que usa a classe de caracteres Unicode \p{L} para reconhecer qualquer letra Unicode, incluindo letras acentuadas:

\p{L}+

Essa expressão regular reconhecerá qualquer sequência de uma ou mais letras Unicode, incluindo letras acentuadas.

O resultado pode ser observado na imagem abaixo, que mostra palavras acentuadas sendo validadas pela expressão regular apresentada no exemplo acima.

Tela do site REGEX101 mostrando um exemplo de expressão regular que valida palavras acentuadas

Espero ter ajudado. Caso tenha dúvidas, estarei à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!