$regexMatch (Teste de Regex)
Última atualização: 2026-10-09
$regexMatch (Teste de Regex)
$regexMatch testa se uma string corresponde a um regex e retorna true ou false — o operador de regex mais leve, ideal para filtragem e validação de dados. Ele apenas responde "corresponde?" e não retorna conteúdo; use $regexFind para extrair correspondências. options aceita flags como i, m, s e x. Entrada null ou ausente resulta em null.
| Categoria | String |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $regexMatch: { input: <expressão de string>, regex: <padrão>, options: <opções> } }
⚙️ Parâmetros
| input | Obrigatório; a string a testar. |
|---|---|
| regex | Obrigatório; uma string de padrão regex compatível com Perl. |
| options | Sinalizadores opcionais como i, m, s, x. |
Retorno:true se corresponder, false caso contrário; null se a entrada for null.
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $regexMatch: o e-mail é um endereço Gmail (sem diferenciar maiúsculas/minúsculas)
db.users.aggregate([
{ $project: { isGmail: { $regexMatch: { input: '$email', regex: '@gmail\\.com$', options: 'i' } } } }
])
Saída:
{ "_id": 1, "isGmail": true }
{ "_id": 2, "isGmail": false }
📌 Notas
- Retorna um booleano — usável diretamente no $expr do $match
- regex é uma string de padrão; âncoras como ^ e $ funcionam
- Apenas testa; use $regexFind quando precisar do conteúdo correspondido
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QPode ser usado dentro de $match?
ASim — envolva-o em $expr.
QEle retorna apenas um booleano?
ASim — true ou false, sem conteúdo correspondido.
QComo ignorar maiúsculas/minúsculas?
APasse 'i' em options.