Índice Anterior Próxima

Opcional: o opcional ?

Está gostando da leitura? Está aprendendo? Compre o livro novo que traz mais conteúdo, texto atualizado e ilustrações!

O opcional é um quantificador que não esquenta a cabeça, para ele pode ter ou não a ocorrência da entidade anterior, pois ele a repete 0 ou 1 vez. Por exemplo, a ER 6? significa zero ou uma ocorrência do número 6. Se tiver um 6, beleza, casamento efetuado. Se não tiver, beleza também. Isso torna o 6 opcional (daí o nome), que tendo ou não, a ER casa. Veja mais um exemplo, o plural. A ER ondas? tem a letra s marcada como opcional, então ela casa onda e ondas.

Cada letra normal é um átomo da ER, então o opcional é aplicado somente ao s e não à palavra toda.
E essa tal de entidade pode ser um metacaractere então?

Claro! Agora vamos começar a ver o poder de uma expressão regular. Já vimos o metacaractere lista e agora vimos o opcional, que tal fazermos uma lista opcional? Voltando um pouco àquele exemplo da palavra fala, vamos fazer a ER fala[r!]?. Mmmmmm, as ERs estão começando a ficar interessantes não? Mas antes de analisar essa ER, uma dica que vale ouro, memorize já: leia a ER átomo por átomo, da esquerda para a direita. Repetindo: leia a ER átomo por átomo, da esquerda para a direita.

Como ler uma ER

É bem simples, uma ER se lê exatamente como o robozinho (lembra quem ele é?) leria. Primeiro lê-se átomo por átomo, depois entende-se o todo e depois se analisa as possibilidades. Na nossa ER fala[r!]? em questão, sua leitura fica: um f seguido de um a, seguido de um l, seguido de um a, seguido de: ou r, ou !, ambos opcionais.

Essa leitura é essencial para o entendimento da ER. Ela pode em um primeiro momento ser feita em voz alta, de maneira repetitiva, até esse processo se tornar natural. Depois ela pode ser feita mentalmente mesmo, e de maneira automática. É como você está fazendo agora repetindo mentalmente estas palavras escritas aqui enquanto as lê. Você não percebe, faz normalmente.

Feita a leitura, agora temos de entender o todo, ou seja, temos um trecho literal fala, seguido de uma lista opcional de caracteres. Para descobrirmos as possibilidades, é o fala seguido de cada um dos itens da lista e por fim seguido por nenhum deles, pois a lista é opcional. Então fica:

fala[r!]?	falar, fala!, fala

Pronto! Desvendamos os segredos da ER. É claro, esta é pequena e fácil, mas o que são ER grandes senão várias partes pequenas agrupadas? O principal é dominar essa leitura por átomos. O resto é ler devagar até chegar ao final. Não há segredo.

Então voltemos ao nosso exemplo de marcações HTML, podemos facilmente incluir agora as marcações que fecham o trecho, em que a única diferença é que vem uma barra / antes da letra:

</?[BIPbip]>	</B>, </I>, </P>, </b>, </i>, </p>, <B>, <I>, <P>, <b>, <i>, <p>

Por alguns segundos, contemple a ER anterior. Estamos começando a dizer muito com poucos caracteres, sendo específicos. Vamos continuar que vai ficar cada vez mais interessante.

Resumão


Índice Anterior Próxima