Altova MapForce 2026 Enterprise Edition

Crée une expression régulière BSON (sous la forme d'un bson:regex) à partir d'un motif de recherche et d'une chaîne de règles de correspondance (options).

MF_Func_Lib_BSON_RegexFunc3

 

Langages

Intégré

 

Paramètres

Nom

Type

Description

pattern

xs:string

Une chaîne UTF-8 qui définit le modèle d'expression régulière utilisé pour la correspondance.

options

xs:string

Une chaîne de drapeaux qui détermine le comportement de correspondance. Ces caractères doivent être fournis par ordre alphabétique (par exemple, « im » au lieu de « mi ») afin de garantir une représentation BSON cohérente.

 

Options

Les options suivantes sont prises en charge :

 

i (sans distinction de casse) : correspond aux lettres majuscules et minuscules (par exemple, A correspond à a).

m (multiligne) : fait en sorte que les ancrages ^ et $ correspondent au début et à la fin de chaque ligne, plutôt qu'au début et à la fin de la chaîne entière.

s (dotall) : permet au caractère point (.) de correspondre à tout, y compris aux caractères de nouvelle ligne.

u (Unicode): active la prise en charge Unicode pour les classes de caractères abrégées telles que \w (caractères de mot) et \d (chiffres).

x (verbose): ignore les espaces blancs dans le motif et autorise les commentaires (commençant par #), ce qui rend les motifs complexes plus faciles à lire.

 

Exemple

Cet exemple montre comment utiliser la fonction to-regex pour filtrer des données MongoDB (voir la capture d'écran ci-dessous). Notre objectif est de filtrer les informations sur les équipes de course et de n'afficher que celles dont le nom contient « Mercedes » :

 

1.Tout d'abord, nous configurons le composant SQL/NoSQL WHERE/ORDER comme suit :

 

oFiltrer:

 

{

 "name" : @name

}

 

oLe paramètre name est défini comme étant de type regex, car il reçoit l'expression régulière BSON fournie par la fonction to-regex.

oLes résultats filtrés sont triés par ordre croissant selon le champ name.

 

2.Ensuite, nous ajoutons la fonction to-regex et définissons ses paramètres :

 

oMotif : .*mercedes.*, où .* correspond à n'importe quel caractère, zéro ou plusieurs fois.

oOptions : i, ce qui signifie que la recherche est insensible à la casse.

 

3.Troisièmement, nous connectons le résultat de la fonction to-regex au paramètre name du composant SQL/NoSQL WHERE/ORDER pour exécuter la recherche.

MF_BSON-to-regex_Example

En conséquence, nous obtenons le résultat suivant :

 

<teams>

  <team id="305" name="Aston Martin Aramco Mercedes" nation="UK" points="94">

     <driver id="109" name="Fernando Alonso" nation="ES" since="2024-01-01T00:00:00" points="58"></driver>

     <driver id="110" name="Lance Stroll" nation="CA" since="2024-01-01T00:00:00" points="36"></driver>

  </team>

  <team id="301" name="McLaren Mercedes" nation="UK" points="666">

     <driver id="101" name="Lando Norris" nation="UK" since="2024-01-01T00:00:00" points="282"></driver>

     <driver id="102" name="Oscar Piastri" nation="AU" since="2024-01-01T00:00:00" points="384"></driver>

  </team>

  <team id="304" name="Mercedes" nation="DE" points="468">

     <driver id="107" name="Lewis Hamilton" nation="UK" since="2024-01-01T00:00:00" points="240"></driver>

     <driver id="108" name="George Russell" nation="UK" since="2024-01-01T00:00:00" points="228"></driver>

  </team>

  <team id="309" name="Williams Mercedes" nation="UK" points="17">

     <driver id="117" name="Alexander Albon" nation="TH" since="2024-01-01T00:00:00" points="12"></driver>

     <driver id="118" name="Alexander Albon" nation="US" since="2024-01-01T00:00:00" points="5"></driver>

  </team>

</teams>

 

© 2020-2026 Altova GmbH