Expressões Regulares em JavaScript com Exemplos para Iniciantes

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

Introdução às Expressões Regulares em JavaScript

Expressões regulares (regex ou regexp) são uma ferramenta poderosa para buscar, substituir e validar strings com base em um padrão definido. Em JavaScript (e Node.js), elas são implementadas através do objeto nativo RegExp.

Para um iniciante, a sintaxe do regex pode parecer assustadora, mas na verdade é apenas uma linguagem de descrição de padrões. Dominando as construções básicas, você poderá:

  • Validar email, telefone, URL
  • Extrair dados de texto (parsing)
  • Substituir substrings por regras complexas
  • Filtrar e processar entrada do usuário

Neste artigo, vamos abordar expressões regulares em JavaScript com exemplos em Node.js. Todos os exemplos podem ser executados no console ou em um ambiente de execução.



Criando uma Expressão Regular em JS

Em JavaScript, existem duas maneiras de criar um regex:

1. Sintaxe literal (recomendada)

const pattern = /hello/;  // Procura a palavra "hello"

O padrão é colocado entre duas barras. Após a barra de fechamento, você pode especificar flags (por exemplo, i — busca case-insensitive).



2. Construtor RegExp

const pattern = new RegExp('hello');  // Equivalente a /hello/

Usado quando o padrão é dinâmico (formado a partir de uma variável).



Flags de Expressões Regulares

  • i — ignorar maiúsculas/minúsculas (/hello/i encontrará "Hello", "HELLO")
  • g — busca global (encontra todas as correspondências, não apenas a primeira)
  • m — modo multilinha (altera o comportamento das âncoras ^ e $)
  • s — ponto corresponde ao caractere de nova linha
  • u — suporte a Unicode
  • y — busca aderente (busca apenas a partir da posição lastIndex)
const regex = /javascript/gi;  // Procura "javascript" globalmente e sem diferenciar maiúsculas/minúsculas


Principais Métodos para Trabalhar com Regex em JavaScript

Vamos analisar os principais métodos usados com expressões regulares.



test() — verificação de existência do padrão

Retorna true ou false. É o método mais rápido para validação.

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


exec() — busca com detalhes

Retorna um array com a correspondência e grupos. Com a flag g, lembra a posição.

const str = 'Preço: 100 reais, desconto: 20 reais';const pricePattern = /(\\d+)\\sreais/g;let match;while ((match = pricePattern.exec(str)) !== null) {  console.log(`Encontrado: ${match[0]}, número: ${match[1]}`);}// Saída:// Encontrado: 100 reais, número: 100// Encontrado: 20 reais, número: 20


match() — busca na string

Método da string. Sem a flag g, retorna a primeira correspondência (como exec). Com a flag g, retorna um array com todas as correspondências.

const text = 'JS é JavaScript, não confunda com Java.';const jsMatches = text.match(/Java\\w*/g);console.log(jsMatches); // ['JavaScript', 'Java']


replace() — substituição por padrão

Substitui as correspondências por uma nova string. Suporta caracteres especiais ($1, $&).

const phone = '+55 (11) 98765-4321';const cleanPhone = phone.replace(/[\\s\\(\\)\\-]/g, '');console.log(cleanPhone); // +5511987654321

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


search() — índice da primeira correspondência

const index = 'Olá mundo'.search(/mundo/);console.log(index); // 4                

Blogs

Book Recommendations