3.3 - Classe de caracteres

June 14, 2021 · View on GitHub

Ok, classe de caracteres parece um nome complicado, mas não se preocupe! classe de caracteres é um conjunto de caracteres - também é chamado dessa forma hodiernamente.

Bom, se é um conjunto de caracteres não tem mistério, não é mesmo?

Sintaxe

Um conjunto pode ser representado por [^?c], onde c sempre deve existir e representa os caracteres do conjunto, e ^ é para a negação de c, que pode ou não existir.

O [ é o metacaractere reponsável pela sintaxe de um conjunto, quando um ^ vier logo em seguida, o conjunto aceita tudo que não estiver em c.

O [ irá procurar pelo primeiro ] que existir, caso não exista, ocorrerá um erro de sintaxe! também ocorrerá caso o conjunto esteja vazio.

ExpressãoErroCasos válidos
[]
[nium]n, i, u, m
[^]
[^nium]Qualquer coisa que não esteja no conjunto [nium]
[[]][]
[
[^

Ou seja! O ] é um literal e o [ transforma o ] em um "pseudo-metecaractere"!!

Mas e aquele tal c?

Na representação da sintaxe anterior, aquele c pode ser entendido como qualquer caractere e/ou outro(s) conjunto(s) pré-definido(s)! Nós veremos alguns daqui a pouco, mas tente usar o \d, veja o que acontece!

Por exemplo, no conjunto [Nn], Nn é o nosso maravilhoso c! Agora no conjunto [NnIiUuMm], você consegue me dizer qual valor c representa?

Ps: E aí, você já tentou criar um conjunto dentro de outro conjunto?

Ir para Módulo básico:Metacaracteres:Classe de caracteres:Range.