Reguläre Ausdrücke und Muster in Feldnormalisierungsregeln

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 2 Minuten Lesedauer
  • Feldtransformationsdefinitionen unterstützen die Verwendung von regulären Ausdrücken (in der Plattform als reguläre Ausdrückebezeichnet) und Musterabgleiche zur Bestimmung der Position von Zeichen in einer Zeichenfolge.

    Nach dem Identifizieren der Zielzeichen kann die Feldtransformation die identifizierten Zeichen ersetzen oder löschen oder andere Zeichen an dieser Position einfügen.

    Regulärer Ausdruck

    Reguläre Ausdrücke können in Transformationsparametern und in Bedingungsanweisungen verwendet werden, um zu bestimmen, welche Zeichen in einem Feldwert umgewandelt werden.

    Reguläre Ausdrücke, die als Parameter zum Suchen von Zeichen in transformierten Feldwerten verwendet werden, müssen mit /regex/beginnen. Alles danach ist ein regulärer Ausdruck, der zur Berechnung der Zeichenposition verwendet wird.

    Beispiel

    Die Computernamen im Windows -Netzwerk einer Organisation werden als Domäne\Computername ausgedrückt, z. B. development\devlab01. Der Netzwerkadministrator möchte diese Namen vereinfachen, indem er den Domänennamen und den umgekehrten Schrägstrich entfernt. Er erstellt einen Transformationsdatensatz für die Tabelle „Computer“ [cmdb_ci_computer] und wählt das zu transformierende Feld Name aus.
    Abbildung : 1. Beispiel für regulären Ausdruck für Transformation
    Das Netzwerk enthält mehrere Domänen, und jede Domäne enthält zahlreiche Computer. Das einzige Zeichen, das alle Namen gemeinsam haben, ist der umgekehrte Schrägstrich. Um den Domänennamen zu löschen, verwendet der Administrator einen regulären Ausdruck, um den gesamten Rohwert im Feld durch die Zeichen zu ersetzen, die nach dem umgekehrten Schrägstrich (der tatsächliche Computername) angezeigt werden. Er erstellt eine neue Transformation mit Ersetzen als Transformationstyp und gibt die folgenden Werte ein:
    • Suchen:/regex/.*\\(.*)
    • Ersetzen durch:$1
    Abbildung : 2. Beispiel für regulären Ausdruck für Transformation

    Der reguläre Ausdruck .*\\(.*) stellt den gesamten Rohwert im Feld Name dar – in diesem Beispiel development\devlab01. Der erste Teil des Ausdrucks, .*, stellt alles vor dem umgekehrten Schrägstrich dar (den Entwicklungsdomänennamen ). Der umgekehrte Schrägstrich selbst ist das Escape-Zeichen in regulären Ausdrücken und erfordert eine spezielle Syntax, um seine Funktion im Computernamen beizubehalten. Der Administrator muss einen anderen umgekehrten Schrägstrich als Escape -Zeichen verwenden (\\ bedeutet \). Der Teil des Ausdrucks nach dem umgekehrten Schrägstrich (.*)stellt den Computernamen (devlab01) dar und ist zur Referenz in Klammern gruppiert. Der Wert im Feld Ersetzen durch, $1, verweist auf diese Gruppe und ersetzt den gesamten Rohwert des Felds durch den Inhalt der Gruppe, devlab01.

    Der Administrator klickt im Transformationsdatensatz auf Transformationen testen und gibt development\devlab01 in das Feld Rohdaten ein. Anschließend klickt er auf OK, um die Transformation auf den Testwert anzuwenden. Die Transformation ersetzt development\devlab01 durch devlab01.
    Abbildung : 3. Regulärer Ausdruck der Transformation 3

    Wenn die Transformationen für dieses Feld erfolgreich getestet wurden, ändert der Administrator den Modus im Transformationsdatensatz in Aktiv und führt den Transformations-Anwendungsdatenauftrag aus, um diese Transformation auf vorhandene Datensätze in der Datenbank anzuwenden.