Expressões Regulares em JavaScript com exemplos para Node.js

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
Here is the translated HTML content from Russian to Portuguese (Português), keeping all HTML tags intact and only translating the text content inside tags. ```html

Expressões Regulares em JavaScript: Guia Completo com Exemplos



Expressões regulares (regexp ou regex) são uma ferramenta poderosa para buscar, substituir e validar dados textuais. Em JavaScript, especialmente no ambiente Node.js, expressões regulares são usadas em toda parte: desde o processamento de logs e parsing de URLs até a validação de formulários e marcação de texto. Neste artigo, vamos abordar os fundamentos do trabalho com expressões regulares em JavaScript, examinar a sintaxe, os métodos e fornecer exemplos práticos para Node.js.



Criando Expressões Regulares em JavaScript



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



  • Notação literal — a maneira mais conveniente e comum: /pattern/flags.
  • Construtor RegExp — usado quando o padrão é criado dinamicamente: new RegExp('pattern', 'flags').


Exemplos:



// Notação literalconst regexLiteral = /hello/i; // flag i — ignorar maiúsculas/minúsculas

// Construtor RegExpconst pattern = 'hello';const regexConstructor = new RegExp(pattern, 'i');

console.log(regexLiteral.test('Hello, world!')); // trueconsole.log(regexConstructor.test('HELLO')); // true


Flags (Modificadores) Principais



  • i — ignorar maiúsculas/minúsculas (case-insensitive).
  • g — busca global (encontra todas as correspondências, não apenas a primeira).
  • m — modo multilinha (as âncoras ^ e $ funcionam para cada linha).
  • s — modo "dotall" (o ponto . inclui o caractere de nova linha ).
  • u — suporte completo a Unicode.
  • y — modo "sticky" (busca a partir da posição atual).


Métodos de Expressões Regulares em JavaScript



Em JavaScript, expressões regulares trabalham em conjunto com vários métodos de strings e do próprio RegExp.



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


Método exec()

Executa uma busca e retorna um array com os resultados ou null. Útil para extrair grupos.



const urlRegex = /https?:\\/\\/([^\\/]+)\\/(.*)/;const url = 'https://pythonlib.ru/regular-expressions';const match = urlRegex.exec(url);

if (match) { console.log('Domínio:', match[1]); // pythonlib.ru console.log('Caminho:', match[2]); // regular-expressions}


Métodos de String que Trabalham com regexp



  • str.match(regex) — retorna um array de correspondências (ou null).
  • str.matchAll(regex) — retorna um iterador de todas as correspondências (com grupos).
  • str.replace(regex, replacement) — substitui as correspondências.
  • str.search(regex) — retorna o índice da primeira correspondência (-1 se não houver).
  • str.split(regex) — divide a string por uma expressão regular.


const text = 'Código: 12345, artigo: ABC-6789';

// match — encontrar todos os dígitosconst numbers = text.match(/\\d+/g);console.log(numbers); // ['12345', '6789']

// replace — substituir hífen por dois pontosconst cleaned = text.replace(/-/g, ':');console.log(cleaned); // 'Código: 12345, artigo: ABC:6789'

// split — dividir por vírgulas e espaçosconst parts = text.split(/,\\s*/);console.log(parts); // ['Código: 12345', 'artigo: ABC-6789']


Padrões Básicos e Caracteres Especiais



Para criar padrões precisos, são usados metacaracteres e quantificadores. Aqui estão os mais importantes:



Caracteres Básicos



  • < ```

Blogs

Book Recommendations