Expressões Regulares em JavaScript com Exemplos: na Prática

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Expressões Regulares em JavaScript com Exemplos: na Prática



Expressões regulares (RegExp) são uma ferramenta poderosa para buscar, substituir e validar strings. Em JavaScript e Node.js, elas são usadas em toda parte: desde validação de formulários até análise de logs. Neste artigo, vamos abordar os fundamentos da sintaxe, métodos populares e resolver alguns problemas práticos.



1. Criando uma Expressão Regular



Em JavaScript, existem duas maneiras de criar uma expressão regular:



  • Notação literal (recomendada): /padrão/flags
  • Construtor new RegExp('padrão', 'flags')


Exemplo:



// Notação literalconst regexLiteral = /hello/i;

// Construtor (útil quando o padrão é dinâmico)const pattern = 'hello';const regexConstructor = new RegExp(pattern, 'i');

console.log(regexLiteral.test('Hello World')); // trueconsole.log(regexConstructor.test('HELLO')); // true


2. Métodos Principais de RegExp e String



Para trabalhar com expressões regulares em JavaScript, são usados dois tipos de métodos: os métodos do próprio objeto RegExp e os métodos de strings.



2.1 Método test()

Verifica se há uma correspondência na string. Retorna true ou false.



const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;console.log(emailRegex.test('user@example.com')); // trueconsole.log(emailRegex.test('invalid-email'));    // false


2.2 Método exec()

Busca uma correspondência e retorna um array com informações detalhadas (ou null). Útil para extrair dados.



const str = 'Preço: 1500 reais, desconto: 200 reais';const priceRegex = /(\\d+)/g;let match;

while ((match = priceRegex.exec(str)) !== null) { console.log(`Número encontrado: ${match[1]}`);}// Saída:// Número encontrado: 1500// Número encontrado: 200


2.3 Método de string match()

Funciona de forma semelhante ao exec(), mas é chamado a partir da string.



const text = 'JavaScript é legal! JS é usado em todo lugar.';const result = text.match(/JS/g);console.log(result); // [ 'JS', 'JS' ]


2.4 Método de string replace()

Substitui as correspondências encontradas pela string especificada ou resultado de uma função.



const phone = '+7 (123) 456-78-90';const cleaned = phone.replace(/[\\s\\-\\(\\)\\+]/g, '');console.log(cleaned); // 71234567890

// Substituição usando grupos de capturaconst date = '2024-03-15';const formatted = date.replace(/(\\d{4})-(\\d{2})-(\\d{2})/, '$3.$2.$1');console.log(formatted); // 15.03.2024


2.5 Método de string search()

Retorna o índice da primeira correspondência ou -1.



const sentence = 'Aprenda JavaScript no PythonLib';const index = sentence.search(/javascript/i);console.log(index); // 8


3. Flags e Caracteres Especiais: Exemplos Práticos



As flags alteram o comportamento da busca. As mais populares:

  • g — busca global (encontra todas as correspondências, não apenas a primeira).
  • i — busca sem distinção entre maiúsculas e minúsculas.
  • m — modo multilinha (as âncoras ^ e $ funcionam em cada linha).


Exemplo com a flag m:



const multiLineText = `Primeira linhasegunda linhaTerceira linha`;

// Sem a flag mconsole.log(multiLineText.match(/^segunda/)); // null

// Com a flag mconsole.log(multiLineText.match(/^segunda/m)); // [ 'segunda' ]


Caracteres Especiais Principais



Blogs

Book Recommendations

Caractere Descrição