$regexFind (Primeira Correspondência de Regex)

Última atualização: 2026-10-09

$regexFind (Primeira Correspondência de Regex)

$regexFind executa uma busca regex compatível com Perl em uma string e retorna a primeira correspondência como um documento (com os campos match, idx e captures), ou null quando nada corresponde. regex recebe o padrão diretamente como string; options aceita flags como i (ignorar maiúsculas/minúsculas) e m (multilinha). Diferente de $regexMatch, ele também retorna grupos de captura, então se encaixa em tarefas de extração e subgrupos.

CategoriaString
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $regexFind: { input: <expressão de string>, regex: <padrão>, options: <opções> } }

⚙️ Parâmetros

inputObrigatório; a string a pesquisar.
regexObrigatório; uma string de padrão regex compatível com Perl.
optionsSinalizadores opcionais como i, m, x.

Retorno:Um documento de correspondência { match, idx, captures }; null quando não há correspondência ou a entrada é null.

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $regexFind: extrair um telefone de 11 dígitos dos contatos
db.users.aggregate([
  { $project: { phone: { $regexFind: { input: '$contact', regex: '[0-9]{11}', options: 'i' } } } }
])

Saída:

{ "_id": 1, "phone": { "match": "13800138000", "idx": 5, "captures": [] } }
{ "_id": 2, "phone": null }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QNull significa sem correspondência?
ASim — sem correspondência resulta em null; proteja com $ifNull.
QComo obter grupos de captura?
AO campo captures lista os conteúdos dos grupos em ordem.
QOptions consegue combinar flags?
ASim — ex.: 'im' ativa tanto ignorar maiúsculas/minúsculas quanto multilinha.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%