anterior | início | próxima

Os Metacaracteres

Então, para já matar sua curiosidade, aqui estão os tão falados metacaracteres-padrão que serão nossos personagens das próximas páginas: . ? * + ^ $ | [ ] { } ( ) \. E aí, sentiu um frio na barriga? Cada simbolozinho desses tem sua função específica, que pode mudar dependendo do contexto no qual está inserido, e podemos agregá-los uns com os outros, combinando suas funções e fazendo construções mais complexas. Olha, ainda dá tempo de fechar o livro e voltar a assistir à novela....

Então deixa eu te assustar mais um pouquinho. Além destes, temos outros metacaracteres estendidos que foram criados posteriormente, pois tarefas mais complexas requisitavam funções mais específicas ainda. E para terminar de complicar, sua sintaxe de utilização não é a mesma para todos os programas que suportam expressões regulares.

Bem, já que você não desistiu (eu tentei), vamos logo ao que interessa, e para começar vamos dar nomes aos bois. Leia, releia e "treleia" esta lista, repetindo para si mesmo e associando o nome ao símbolo, pois estas palavras farão parte de sua vida, de sua rotina. Acostume-se com os nomes e não os mude.

meta    mnemônico
------------------------------
.       ponto
[]      lista
[^]     lista negada
?       opcional
*       asterisco
+       mais
{}      chaves
^       circunflexo
$       cifrão
\b      borda
\       escape
|       ou
()      grupo
\1      retrovisor

Agora que sabemos como chamar nossos amigos novos, veremos uma prévia, um apanhado geral de todos os metacaracteres e suas funções. Eles estão divididos em quatro grupos distintos, de acordo com características comuns entre eles.

Representantes

meta    mnemônico       função
---------------------------------------------------------------
.       ponto           um caractere qualquer
[...]   lista           lista de caracteres permitidos
[^...]  lista negada    lista de caracteres proibidos

Quantificadores

meta    mnemônico       função
---------------------------------------------------------------
?       opcional        zero ou um
*       asterisco       zero, um ou mais
+       mais            um ou mais
{n,m}   chaves          de n até m

Âncoras

meta    mnemônico       função
---------------------------------------------------------------
^       circunflexo     início da linha
$       cifrão          fim da linha
\b      borda           início ou fim de palavra

Outros

meta    mnemônico       função
---------------------------------------------------------------
\c      escape          torna literal o caractere c
|       ou              ou um ou outro
(...)   grupo           delimita um grupo
\1...\9 retrovisor      texto casado nos grupos 1...9
Aaaah, ? e * eu já uso na linha de comando!

Opa, não confunda! Os curingas usados na linha de comando para especificar nomes de arquivos, como *.txt, relatorio.{txt,doc} e guia-??.html não são expressões regulares. São curingas específicos de nomes de arquivo, e apesar de parecidos, são outra coisa e os significados de seus símbolos são diferentes dos das expressões, então o melhor que você faz agora é esquecer esses curingas, senão eles podem confundi-lo e atrapalhar seu aprendizado.

Está gostando da leitura?
Está aprendendo?
Compre o livro novo que traz mais conteúdo, texto atualizado e ilustrações!
anterior | início | próxima