

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# \$1 RegexMatch
<a name="regexMatch"></a>

Nuevo desde la versión 5.0. No es compatible con el clúster de Elastic.

El `$regexMatch` operador de Amazon DocumentDB se utiliza para realizar coincidencias de expresiones regulares en campos de cadenas. Devuelve un valor booleano (`true`o`false`) que indica si la cadena de entrada coincide con el patrón especificado.

**Parámetros**
+ `input`: La cadena que se comparará con la expresión regular.
+ `regex`: El patrón de expresión regular que debe coincidir.
+ `options`: (Opcional) Banderas para modificar el comportamiento de la expresión regular, como la coincidencia sin distinguir entre mayúsculas y minúsculas (`i`) o la coincidencia multilínea (). `m`

## Ejemplo (MongoDB Shell)
<a name="regexMatch-examples"></a>

El siguiente ejemplo muestra cómo utilizar el `$regexMatch` operador para comprobar si los nombres comienzan por la letra «M». El operador devuelve `true` o `false` para cada documento.

**Cree documentos de muestra**

```
db.users.insertMany([
  { "_id":1, name: "María García", email: "maría@example.com" },
  { "_id":2, name: "Arnav Desai", email: "arnav@example.com" },
  { "_id":3, name: "Martha Rivera", email: "martha@example.com" },
  { "_id":4, name: "Richard Roe", email: "richard@example.com" },

]);
```

**Ejemplo de consulta**

```
db.users.aggregate([
  {
    $project: {
      name: 1,
      startsWithM: {
        $regexMatch: {
          input: "$name",
          regex: "^M",
          options: "i"
        }
      }
    }
  }
]);
```

**Salida**

```
{ _id: 1, name: 'María García', startsWithM: true },
{ _id: 2, name: 'Arnav Desai', startsWithM: false },
{ _id: 3, name: 'Martha Rivera', startsWithM: true },
{ _id: 4, name: 'Richard Roe', startsWithM: false }
```

## Ejemplos de código
<a name="regexMatch-code"></a>

Para ver un ejemplo de código para usar el `$regexMatch` comando, elija la pestaña del idioma que desee usar:

------
#### [ Node.js ]

```
const { MongoClient } = require('mongodb');

async function checkNamePattern() {
  const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  const db = client.db('test');
  const collection = db.collection('users');

  const result = await collection.aggregate([
    {
      $project: {
        name: 1,
        startsWithM: {
          $regexMatch: {
            input: "$name",
            regex: "^M",
            options: "i"
          }
        }
      }
    }
  ]).toArray();

  console.log(result);

  await client.close();
}

checkNamePattern();
```

------
#### [ Python ]

```
from pymongo import MongoClient

def check_name_pattern():
    client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
    db = client.test
    collection = db.users

    result = list(collection.aggregate([
        {
            '$project': {
                'name': 1,
                'startsWithM': {
                    '$regexMatch': {
                        'input': '$name',
                        'regex': '^M',
                        'options': 'i'
                    }
                }
            }
        }
    ]))

    print(result)

    client.close()

check_name_pattern()
```

------