Como usar o Regex no JavaScript


Uma expressão regular (regular expression ou Regex) é uma sequência de caracteres que forma um padrão de pesquisa. Ao procurar dados em um texto, você pode usar esse padrão de pesquisa para descrever o que está procurando. Uma expressão regular pode ser um único caractere ou um padrão mais complicado. Expressões regulares podem ser usadas para executar todos os tipos de pesquisa de texto e operações de substituição de texto.

 

Onde o JavaScript usa o Regex?

Em JavaScript, expressões regulares são frequentemente usadas com os dois métodos string: search() e replace(). O método search() usa uma expressão para procurar uma correspondência e retorna a posição da correspondência enquanto o método replace() retorna uma string modificada onde o padrão é substituído.
Mas não fica apenas nisso, pois as expressões possuem métodos próprios que também podem ser utilizadas para diversos tipos de verificações.

 

Sintaxe do Regex

A sintaze padrão do Regex funciona da seguinte maneira:
/padrão/modificadores;

Exemplo:

let regex = /mundo/i;

Explicação:

/mundo/i é um REGEX ou uma expressão regular.

  1. “mundo” é a palavra de busca (para ser usado em uma pesquisa).
  2. “i” é o modificador (modifica a pesquisa para não diferenciar maiúsculas de minúsculas).

 

Regex com Funções JavaScript

Utilizando REGEX com Search()

É possível utilizar o Regex em conjunto com o método Search para efetuar buscas mais inteligentes. No caso do exemplo abaixo, você consegue saber onde foi a primeira ocorrência da palavra “mundo” sem precisar se importar se estão sendo usadas letras maiúsculas ou minúsculas.

let str = "Olá Mundo!";
let n = str.search(/mundo/i);
console.log(n);
//retornará 4, que é a posição da palavra na string

Utilizando REGEX com Replace

Em conjunto com o replace, é possível fazer algo que muitas vezes causa problemas para aqueles que precisam lidar um strings enormes. No caso abaixo, o regex ajuda a fazer um replace em todas as vezes que a palavra algo for encontrada.

let str = "Olá mundo! Programando JavaScript pelo mundo"
let txt = str.replace(/mundo/g,"universo");
console.log(txt);
//altera o texto onde a palavra “mundo” aparece, independentemente de ser maiúscula ou minúscula.

 

Modificadores de Expressões Regulares

Os modificadores podem ser usados para realizar pesquisas mais globais, sem distinção entre maiúsculas e minúsculas:

Tipos de modificadores

  • letra i: Executa a busca ignorando letras maiúsculas e minúsculas.
  • letra g: Executa uma pesquisa global (encontre todas os resultados em vez de parar após a primeira ocorrência).
  • letra m: Executar o ajuste de considerando as quebras de linha.

 

Padrões de Expressão Regular

Os colchetes são usados para encontrar um intervalo de caracteres:

 

Descrição da Expressão

  • [abc] Encontre qualquer um dos caracteres entre os colchetes
  • [0-9] Encontre qualquer um dos dígitos entre os parênteses
  • (x | y) Encontre uma das alternativas separadas por |
  • Metacaracteres são caracteres com um significado especial:

 

Metacaractere Descrição

  • \ d Encontrar um dígito
  • \ s Encontrar um caractere de espaço em branco
  • \ b Encontrar uma correspondência no começo ou no final de uma palavra
  • \ uxxxx Encontre o caractere Unicode especificado pelo número hexadecimal xxxx

 

Descrição do Quantificador

  • n + Corresponde a qualquer string que contenha pelo menos um n
  • n * Corresponde a qualquer cadeia que contenha zero ou mais ocorrências de n

 

Exemplos:

  1. script usa o método exec para encontrar uma instancia dentro de uma string.
    let myRe = /d(b+)d/g;
    let myArray = myRe.exec('cdbbdbsbz');
    console.log(myArray);
    
  2. Retorna todas as ocorrencias das letras “a” a “h”, independente de serem maiúsculas ou minúsculas
    let str = "Cara, cadê o meu carro?";
    let patt1 = /[a-h]/gi;
    console.log(patt1);
  3. Procura por ocorrências da letra “o” na string
    let str = "Hellooo World! Hello Mundoooooo!"; 
    let patt1 = /o+/g;
    let result = str.match(patt1);
    console.log(result);

Deixe um comentário