Reguläre Ausdrücke und Muster in Feldnormalisierungsregeln

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 2 Minuten Lesedauer
  • Feldtransformationsdefinitionen unterstützen die Verwendung von regulären Ausdrücken (in der Plattform als regulärerAusdruck bezeichnet) und Musterabgleich, um die Position von Zeichen in einer Zeichenfolge zu bestimmen.

    Nach der Identifizierung 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 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 Netzwerk Windows einer Organisation werden als Domänen-/Computernamen 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 Feld Name aus, um es zu transformieren.
    Abbildung : 1. Beispiel für einen regulären Transformationsausdruck
    Das Netzwerk enthält mehrere Domänen, und jede Domäne enthält zahlreiche Computer. Das einzige gemeinsame Zeichen ist der umgekehrte Schrägstrich. Um den Domänennamen zu löschen, beschließt der Administrator, einen regulären Ausdruck zu verwenden, um den gesamten Rohwert im Feld durch die Zeichen nach dem umgekehrten Schrägstrich (dem tatsächlichen Computernamen) zu ersetzen. 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 einen regulären Transformationsausdruck

    Der reguläre Ausdruck .*\\(.*) stellt den gesamten Rohwert im Feld Name dar - in diesem Beispiel development\devlab01. Der erste Teil des Ausdrucks, .*, steht für alles vor dem Backslash (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 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 im Feld Rohdaten„development\devlab01“ 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.