Expression régulière

20 min Niveau 9

Les expressions régulières sont fréquemment utilisées dans toutes les langues pour rechercher un motif ou un mot dans une chaîne de caractères. MongoDB fournit également une fonctionnalité d'expression régulière pour la correspondance de motifs de chaînes de caractères à l'aide de l'opérateur $regex. MongoDB utilise PCRE (Perl Compatible Regular Expression) comme langage d'expression régulière.

Contrairement à la recherche de texte, nous n'avons pas besoin d'effectuer de configuration ou de commande pour utiliser les expressions régulières.

Supposons que nous ayons inséré un document dans une base de données nommée posts, comme indiqué ci-dessous.

> db.posts.insert(
{
    "post_text": "enjoy the mongodb articles on Microlead",
    "tags": [
        "mongodb",
        "Microlead"
    ]
}
WriteResult({ "nInserted" : 1 })

Utilisation de l'expression regex

La requête regex suivante recherche tous les messages contenant la chaîne "tutorialspoint".

> db.posts.find({post_text:{$regex:"tutorialspoint"}}).pretty()
{
    "_id" : ObjectId("5dd7ce28f1dd4583e7103fe0"),
    "post_text" : "enjoy the mongodb articles on Microlead",
    "tags" : [
        "mongodb",
        "Microlead"
    ]
}
{
    "_id" : ObjectId("5dd7d111f1dd4583e7103fe2"),
    "post_text" : "enjoy the mongodb articles on Microlead",
    "tags" : [
        "mongodb",
        "Microlead"
    ]
}
>

La même requête peut également s'écrire comme suit : - 1.

>db.posts.find({post_text:/Microlead/})

Utilisation de l'expression regex avec insensibilité à la casse

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus