Altova MapForce 2026 Enterprise Edition

Erstellt anhand eines Suchmusters und eines String von Übereinstimmungsregeln (Optionen) eine BSON Regular Expression (als bson:regex).

MF_Func_Lib_BSON_RegexFunc3

 

Sprachen

Built-in

 

Parameter

Name

Typ

Beschreibung

pattern

xs:string

Ein UTF-String, der das für die Suche verwendete Regular Expression-Muster definiert.

options

xs:string

Ein String von Flags, der das Suchverhalten festlegt. Diese Zeichen sollten in alphabetischer Reihenfolge angegeben werden (z.B. 'im' anstelle von 'mi'), um eine einheitliche BSON-Darstellung zu gewährleisten.

 

Optionen

Die folgenden Optionen werden unterstützt:

 

i (Groß- und Kleinschreibung wird nicht beachtet): Findet sowohl Groß- als auch Kleinbuchstaben (A entspricht z.B. a).

m (Mehrzeilig): Bewirkt, dass die Anker ^ und $ für den Anfang und das Ende der einzelnen Zeilen stehen, anstatt für den Anfang und das Ende des gesamten String.

s (Dotall): Dadurch steht das Punkt-Zeichen (.) für jedes Zeichen, einschließlich Zeilenumbruchzeichen.

u (Unicode): Aktiviert die Unicode-Unterstützung für Kurzform-Zeichenklassen wie \w (Wortzeichen) und \d (Ziffern).

x (Ausführlich): Ignoriert Whitespaces (Leerzeichen) innerhalb des Musters und ermöglicht Kommentare (beginnend mit #), wodurch komplexe Muster besser lesbar werden.

 

Beispiel

In diesem Beispiel wird gezeigt, wie Sie MongoDB-Daten mit Hilfe der to-regex-Funktion filtern (siehe Abbildung unten). Unsere Aufgabe ist es, Informationen über Rennteams zu filtern und nur die Teams, die in ihren Namen "Mercedes" enthalten, auszugeben.

 

1.Als erstes definieren wir die SQL/NoSQL WHERE/ORDER-Komponente folgendermaßen:

 

oFilter:

 

{

 "name" : @name

}

 

oDer Parameter name ist als regex-Typ definiert, da er die BSON Regular Expression aus der Funktion to-regex erhält.

oDie gefilterten Ergebnisse sollen laut Definition nach dem Feld name in aufsteigender Reihenfolge sortiert werden.

 

2.Als zweites fügen wir die Funktion to-regex hinzu und definieren ihre Parameter:

 

oPattern (Muster): .*mercedes.*, wobei .* für jedes Zeichen von null bis mehrmals steht.

oOptions: i, was bedeutet, dass die Groß- und Kleinschreibung bei der Suche ignoriert wird.

 

3.Als drittes verbinden wir das Ergebnis der to-regex-Funktion mit dem Parameter name der SQL/NoSQL WHERE/ORDER-Komponente, um die Suche auszuführen.

MF_BSON-to-regex_Example

Als Ergebnis erhalten wir die folgende Ausgabe:

 

<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="Logan Sargeant" nation="US" since="2024-01-01T00:00:00" points="5"></driver>

  </team>

</teams>

 

© 2020-2026 Altova GmbH