

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Nuovo dalla versione 5.0. Non supportato dal cluster Elastic.

L'`$regexMatch`operatore in Amazon DocumentDB viene utilizzato per eseguire la corrispondenza delle espressioni regolari sui campi stringa. Restituisce un valore booleano (`true`o`false`) che indica se la stringa di input corrisponde al modello specificato.

**Parametri**
+ `input`: La stringa da testare rispetto all'espressione regolare.
+ `regex`: Il modello di espressione regolare da abbinare.
+ `options`: (Facoltativo) Contrassegni per modificare il comportamento delle espressioni regolari, ad esempio matching senza distinzione tra maiuscole e minuscole (`i`) o la corrispondenza multilinea (). `m`

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

L'esempio seguente mostra come utilizzare l'`$regexMatch`operatore per verificare se i nomi iniziano con la lettera 'M'. L'operatore restituisce `true` or `false` per ogni documento.

**Crea documenti di esempio**

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

]);
```

**Esempio di interrogazione**

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

**Output**

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

## Esempi di codice
<a name="regexMatch-code"></a>

Per visualizzare un esempio di codice per l'utilizzo del `$regexMatch` comando, scegliete la scheda relativa alla lingua che desiderate utilizzare:

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

------