JavaScript

Regex em JavaScript: guia prático com RegExp, test e match

JavaScript possui suporte nativo a expressões regulares. Você pode escrever uma Regex como literal `/padrao/flags` ou criar dinamicamente com `new RegExp()`.

Antes de começar: teste cada padrão com exemplos que devem passar e exemplos que devem falhar.

Literal ou RegExp?

Use /regex/ quando o padrão é conhecido no código. Use new RegExp(texto) quando o padrão é montado dinamicamente. No segundo caso, atenção ao escape de barras invertidas dentro de strings JavaScript.

const re1 = /\d{3}/g;
const re2 = new RegExp('\\d{3}', 'g');

test() para resposta booleana

test() retorna true ou false e funciona bem quando você só precisa saber se existe correspondência.

const email = /^[\w.-]+@[\w.-]+\.[A-Za-z]{2,}$/;
console.log(email.test('dev@example.com')); // true

match() e matchAll() para extrair

match() retorna correspondências de uma string. Com grupos e múltiplas ocorrências, matchAll() pode ser mais conveniente porque permite iterar sobre resultados e grupos capturados.

replace() para transformar texto

Regex também serve para substituição. Você pode remover espaços repetidos, padronizar separadores ou trocar padrões específicos.

'a   b'.replace(/\s+/g, ' '); // 'a b'

Flags mais usadas

g busca todas as ocorrências, i ignora diferença entre maiúsculas e minúsculas e m altera o comportamento de âncoras em textos com múltiplas linhas. Use somente as flags necessárias.

Próximo passo: teste de verdade

Use o Playground para experimentar a expressão e depois pratique no jogo com feedback de falsos positivos e falsos negativos.

Praticar no jogoTestar no Playground

Continue aprendendo

← Voltar ao hub