

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Nouveau depuis la version 5.0. Non pris en charge par le cluster Elastic.

L'`$regexMatch`opérateur dans Amazon DocumentDB est utilisé pour effectuer une correspondance d'expressions régulières sur des champs de chaîne. Elle renvoie une valeur booléenne (`true`ou`false`) indiquant si la chaîne d'entrée correspond au modèle spécifié.

**Paramètres**
+ `input`: chaîne à tester par rapport à l'expression régulière.
+ `regex`: le modèle d'expression régulière à associer.
+ `options`: (Facultatif) Indicateurs permettant de modifier le comportement des expressions régulières, tels que la correspondance insensible aux majuscules (`i`) ou la correspondance multiligne (). `m`

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

L'exemple suivant montre comment utiliser l'`$regexMatch`opérateur pour vérifier si les noms commencent par la lettre « M ». L'opérateur renvoie `true` ou `false` pour chaque document.

**Création d'exemples de documents**

```
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" },

]);
```

**Exemple de requête**

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

**Sortie**

```
{ _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 }
```

## Exemples de code
<a name="regexMatch-code"></a>

Pour afficher un exemple de code d'utilisation de la `$regexMatch` commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

------
#### [ 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()
```

------