Índice Anterior 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.


Índice Anterior Próxima