JS-0901 - JavaScript Completo ES6 - Regexp: seleção

JS-0901 - JavaScript Completo ES6 - Regexp: seleção
Publicado em 04/06/2021 10h00
Visualizações: 642

Expressões regulares de seleção

Primeiramente Regular Expression englobam um conjunto de recursos extensos, existindo até livros somente sobre este assunto e com implementação em diversas linguagens de programação, com bastante similaridade de sintaxe.

Regex, cujo construtor em JS é Regexp, são expressões utilizadas para buscas e substituições de padrões em strings, colocados entre barras (//), muito utilizados nos métodos replace e split. O padrão de seleção pode ser colocado dentro de uma variável, para facilitar a visualização. Ex:

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

Abaixo, serão listadas algumas regras de busca:

Literal

Utilização de um caractere literal para realizar uma busca específica deste. Cada caractere passado no regex é interpretado como uma sequência de caracteres ordenados e esta ordem também é utilizada como referência. A busca não é sobre uma palavra e sim sobre uma cadeia de caracteres:

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

Flags

As flags modificam o padrão de interpretação das regex. É colocada após a última barra.

  • g: tem o significado de global, retornando todos os resultados que houver de acordo com o padrão passado. Sem o "g" o retorno será ao primeiro caractere encontrado.

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

  • i: ignora a diferença entre maiúsculo e minúsculo. As flags podem ser combinadas.

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

  • m: multiline, expressa que a busca deve ocorrer em todas as linhas em um texto.

Character Class

Quando é passado caracteres entre colchetes o regex é definido como uma classe e o conteúdo entre colchetes deixa de ser tratado como sequência literal.

  • Um ou outro: quaisquer uns dos caracteres passados entre colchetes serão retornados na busca.

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

Podem ser combinados dentro de uma expressão para buscar por retornos possíveis. Ex:

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

  • Intervalo de busca: caracteres separados por hífen dentro de colchetes definem o intervalo utilizado para a busca. [A-Z] irá buscar os caracteres de A a Z, [0-9] busca de 0 até 9, tendo como referência a tabela unicode.

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

  • Negação: o acento circunflexo nega o que estiver após este. No exemplo abaixo, será substituído somente o que não estiver entre "A" e "Q".

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

Caracteres especiais

Entre colchetes se tornam literais mas podem ser escapados com a utilização de barra invertida (\). Fora dos colchetes, para não os utilizar com suas funções especiais, utiliza-se a barra invertida também.

  • + (mais): retorna uma ou mais ocorrências de um caractere passado antes deste sinal;
  • * (asterisco): retorna quando existir nenhuma ou mais ocorrências;
  • ? (interrogação): o caractere antes deste se torna opcional, podendo retornar com ou sem a existência do referido caractere;
  • ^ (acento circunflexo): negação quando entre colchetes e âncora de início de linha caso contrário, significando que o retorno, passado após o sinal, deve estar no início da linha;
  • $ (cifrão): retorna a cadeia de caracteres passada antes deste quando estiver no final da linha, oposto ao acento circunflexo;
  • \ (barra invertida): escapa caracteres;
  • .(ponto): seleciona qualquer caractere exceto quebra de linhas;
  • [ ] (colchetes): utilizado para especificar classes de regex;
  • { } (chaves): utilizado pa especificar intervalos;
  • ( ) (parênteses): utilizado para captura e memorização de buscas
  • | (barra vertical): retorna um ou outra cadeia de caracteres, passadas antes e depois desta barra; e
  • / (barra): utilizado par abertura e fechamento da regex.

Word

O "\w" pode ser utilizado para selecionar todos os caracteres alfanuméricos e underline igual a [A-Za-z0-9_]. "\W' (maiúsculo) é a negação deste. Ex:

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

Digit

O "\d" irá é utilizado para a seleção de dígitos e assim como word, sua negação é "\D" qualquer dígito.

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

Whitespace

O "\s" seleciona espaços em branco, tendo como negação "\S".

Quantificadores

Caracteres que requeiram busca com repetição podem ter o quantitativo da repetição entre chaves após o caractere. Quantidade mínima e máxima também podem ser especificadas separados por vírgula entre as chaves (sem espaços).

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

Word Boundary

O sinal "\b" indica uma seleção com início e fim de não caracteres, tal como espaço por exemplo. Sua negação é "\B".

JS-0901 - JavaScript Completo ES6 - Regexp: seleção

Outros seletores

  • Line feed: "\n", seleciona o final de uma linha que contenha uma quebra;
  • Tab: "\t", seleciona tabs; e
  • Unicode: "\u", seleciona símbolos através de seu código unicode.

Um site muito bom para testes e análise é o seguinte: https://regexr.com.

Veja também:

Confira mais artigos relacionados

Este website utiliza cookies próprios e de terceiros a fim de personalizar o conteúdo, melhorar a experiência do usuário, fornecer funções de mídias sociais e analisar o tráfego. Para continuar navegando você deve concordar com nossa Política de Privacidade

Sim, eu aceito. Não, eu não aceito.