Metacaracteres Tipo Quantificador
Em uma sequência de caracteres, é comum que haja repetições ao longo do documento e
quantificar essas ocorrências é fundamental para criarmos REGEX. A categoria de metacaracteres do
tipo quantificador permite verificar o número de repetições entre as entidades. Iniciando pelo
operador simbolizado pelo ponto de interrogação ‘?’, ele é o chamado opcional e sempre dará match
se houver ou der ocorrências da entidade anterior. A instrução ‘código?’ retornaria tanto a palavra
‘código’ quanto a palavra ‘códigos’ no plural.
Para buscar as repetições também podemos utilizar o asterisco ‘*’, que retorna o resultado positivo
com zero ou mais ocorrências e o sinal de positivo ‘+’, que dá match quando localiza uma ou mais
ocorrências. Considerando uma página web com código HTML e suas tags de abertura e
fechamento, a instrução ‘</+html’ daria match apenas com a tag de fechamento. Isso, porque exige
que um ou mais atributos ‘/’ sejam contemplados, enquanto ‘</*html’, em que não existe a
ocorrência da entidade, retorna positivo para ambas as tags.
Para concluir os metacaracteres quantificadores, temos as chaves ‘{}’. Com elas, podemos especificar
exatamente quantas repetições do elemento anterior estamos procurando. É possível buscar o
número exato de ocorrências utilizando ‘{valor}’, ou intervalos com ‘{min,max}’ e ‘{min,}’. Faça o teste:
qual seria o match da REGEX ‘\d{4}’ para o número de telefone: (99) 99999-9999?
Metacaracteres Tipo Âncora
Os metacaracteres do tipo âncora marcam uma posição específica na linha. As âncoras comumente
usadas são o acento circunflexo ‘^’ e o cifrão ‘$’. Eles correspondem, respectivamente, ao início e ao
final de uma linha.
Alguns dos exemplos são:
^[AO] – localizar linhas iniciadas pelos artigos definidos;
[0-9]$ – localiza linhas dígitos ao final da linha e não da palavra; [.;]$ – localiza linhas que encerram com um ponto final ou ponto e vírgula.Observe que os metacaracteres ‘^’ e ‘$’ operam nas linhas. Caso seja necessário buscar termos
específicos, precisaremos utilizar a borda ‘\b’. Com ela, poderemos buscar palavras específicas por
seu prefixo ou sufixo.