Einleitung
In diesem Dokument wird beschrieben, wie reguläre Ausdrücke (regex) funktionieren und wie sie auf Autobahnservern getestet werden.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Video Communications Server (VCS) und Expressway Server
- Telepresence-Geräte
- B2B-Anrufe (Business to Business)
- Collaboration-Bereitstellungen
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
Reguläre Ausdrücke sind Zeichenfolgen, die Muster definieren, die Zeichenfolgen im Text zuordnen. Diese Zeichenfolgen können dann in Suchregeln oder Transformationen geändert oder beibehalten werden. Dies sind die gebräuchlichsten Verwendungen für reguläre Ausdrücke.
Arten regulärer Ausdrücke
Basisausdrücke
- Punkt (.) Entspricht einem beliebigen einzelnen Zeichen.
- Ziffer (\d) Entspricht einer beliebigen Dezimalziffer.
- Sternchen (*) Entspricht 0 oder mehr Wiederholungen des vorherigen Zeichens oder Ausdrucks.
- Pluszeichen (+) Entspricht mindestens einer Wiederholung des vorherigen Zeichens oder Ausdrucks.
- Fragezeichen (?) Entspricht 0 oder 1 Wiederholung des vorherigen Zeichens oder Ausdrucks.
- Geschweifte Klammer {n} Entspricht n Wiederholungen des vorherigen Zeichens oder Ausdrucks, z. B. (\d{3}) einer beliebigen dreistelligen Zeichenfolge.
- Geschweifte Klammern {n,m} Entspricht n- bis m-Wiederholungen des vorherigen Zeichens oder Ausdrucks, z. B. (\d{3,5}) einer beliebigen 3-, 4- oder 5-stelligen Zeichenfolge.
- Klammern [...] Entspricht einem Satz von angegebenen Zeichen, diese können einzeln oder in einem Bereich angegeben werden, z. B. [abc] entspricht den Zeichen a, b oder c.
- Um einen Bereich anzugeben, verwenden Sie den Bindestrich (-) zwischen dem Anfang und dem Ende des Bereichs. Beispielsweise entspricht [a-z] einem beliebigen Buchstaben.
- Die Verwendung von Caretzeichen (^) nach der offenen Klammer invertiert die Übereinstimmung, z. B. [^a-z] entspricht einem beliebigen nicht alphabetischen Zeichen.
- Klammern (...) Gruppiert eine Gruppe übereinstimmender Zeichen. Auf diese Gruppen kann später in der Reihenfolge verwiesen werden, in der die Zeichen \n als Teil einer Ersetzungszeichenfolge verwendet werden.
- Pipe (|) Entspricht einem oder einem anderen Ausdruck, z. B. (com|net) einer der Zeichenfolgen com oder net.
Andere Ausdrücke
- (?!...) Dies ist ein negativer Blick in die Zukunft. Definiert einen Unterausdruck, der nicht vorhanden sein darf.
- %localdomains% Entspricht allen derzeit auf dem Server konfigurierten SIP-Domänen.
Erstellen und Testen von Mustern
Die Expressway-Server bieten ein Tool zum Testen von Mustern ohne Änderungen an der Konfiguration, um mögliche geschäftliche Auswirkungen beim Erstellen neuer Artikel zu vermeiden.
Dieses Tool finden Sie auf der Webschnittstelle des Expressway-Servers. Navigieren Sie zu Wartung > Tools > Muster überprüfen.
Tool "Muster überprüfen"
- Alias: Die zu testende Zeichenfolge. Dabei kann es sich um den URI (Uniform Resource Identifier) für das Ziel oder die Registrierung handeln. Diese Zeichenfolge wird mit der Musterzeichenfolge verglichen, um eine Übereinstimmung zu testen.
- Mustertyp: Diese Einstellung legt fest, wie die Musterzeichenfolge behandelt wird, wenn ein Muster überprüft wird. Regex wird am häufigsten verwendet.
- Genau: Die gesamte Zeichenfolge muss genau mit dem Alias-Zeichen für das Zeichen übereinstimmen.
- Präfix: Die Zeichenfolge muss am Anfang des Alias stehen.
- Suffix: Die Zeichenfolge muss am Ende des Alias angezeigt werden.
- Regex: Die Zeichenfolge wird als regulärer Ausdruck behandelt.
- Pattern String: Das Muster, mit dem der Alias verglichen wird.
- Musterverhalten: Die Aktion, die bei einer Musterübereinstimmung ausgeführt wird. Wenn eine Änderung ausgeführt werden soll, wird ein neues Textfeld zur Angabe der Änderung aktiviert.
- Strip: Entfernt das passende Präfix oder Suffix aus dem Alias. Nur verfügbar, wenn der Pattern-Typ auf "prefix" oder "suffix" gesetzt ist.
- Leave (Belassen): Auf den Alias wird keine Änderung angewendet.
- Ersetzen: Ersetzt den passenden Teil des Alias durch den Text in der Ersetzungszeichenfolge.
- Präfix hinzufügen: Fügt dem Alias den zusätzlichen Text voran.
- Add Suffix (Suffix hinzufügen): Hängt den zusätzlichen Text an den Alias an.
Häufig verwendete Beispiele für reguläre Ausdrücke
Platzhalter "Alles zuordnen"
Dieses Muster ist weit verbreitet, wenn keine bestimmte Musterübereinstimmung erforderlich ist, aber eine Suchregel oder Transformation berücksichtigt werden muss, stimmt der reguläre Ausdruck (.*) mit jeder Eingabe überein, unabhängig von Format oder Länge. Der Punkt stimmt mit einem beliebigen Zeichen überein, und das Sternchen ist eine beliebige Anzahl von Wiederholungen dieses Ausdrucks.
Platzhalter "Alles zuordnen" Beispiel 1
Das gleiche Muster ist unabhängig von der Aliaseingabe erfolgreich.
Platzhalter "Alles zuordnen" Beispiel 2
Lokale und nicht lokale Domänen zuordnen
Dies wird in der Regel verwendet, um ein Muster mit einem Ziel einer der auf dem Server konfigurierten lokalen Domänen abzugleichen und den Anruf lokal weiterzuleiten, anstatt ihn an das Internet weiterzuleiten. Der reguläre Ausdruck %localdomains% kann als Suffix oder als zweiter Teil des regulären Musters verwendet werden.
Um lokale Domänen zu konfigurieren, navigieren Sie zu Configuration > Domains (Konfiguration > Domänen).
Lokal konfigurierte Domänen
Die Musterübereinstimmung schlägt für alle anderen als die lokal konfigurierten Domänen fehl.
Übereinstimmungsfehler bei lokalen Domänen
und ist für alle lokal konfigurierten Domänen erfolgreich.
Lokale Domänen erfolgreich
Der negative Blick vor diesem Muster (?!.*@%localdomains%) kann auch für das gegenteilige Ergebnis verwendet werden. Das bedeutet, dass jeder Alias, der nicht die lokalen Domänen ist, erfolgreich zugeordnet werden kann.
Negative Suche nach lokalen Domänen
Verschiedene Domänenerweiterungen zuordnen
Dieses Muster wird häufig verwendet, wenn das Unternehmen eine Domäne mit mehreren Durchwahlen besitzt und entweder eine Domäne aufgerufen werden kann, aber für die Anrufverwaltung müssen diese normalisiert werden, bevor Suchregeln in Betracht gezogen werden.
Dies geschieht normalerweise durch Transformationen mithilfe des regulären Ausdrucks pipe (|).
Beispiel 1: Andere Domänenerweiterung
Das gleiche Muster stimmt mit der Domäne mit einer der beiden Domänenerweiterungen überein, wandelt sie jedoch in die als Ergebnis ausgewählte normalisierte Erweiterung um.
Unterschiedliche Domänenerweiterung - Beispiel 2
Muster für Gebührenbetrug abgleichen
Die Gemeinsamkeit von Telefonbetrug liegt oft in der Anzahl der gewählten Ziffern, internationale Anrufe erfordern eine Ländervorwahl gefolgt von der angerufenen Telefonnummer, was dazu führt, dass diese Anrufe mindestens 7 Ziffern haben. Es ist auch üblich, dass interne Nummernpläne in Unternehmen etwa 4 bis 6 Ziffern lang sind.
Dadurch entsteht ein klarer Unterschied, mit dem Sie bei beiden Arten von Anrufen unterschiedliche Aktionen durchführen können. Mit dem Digit Count Regex können Sie festlegen, welche Aktion bei jedem Anruf ausgeführt werden soll.
Ziffernanzahl Beispiel 1
Dieses Muster stimmt nur mit einem Alias zwischen 7 und 15 Ziffern überein. Weniger Ziffern ergeben keine Übereinstimmung.
Ziffernanzahl Beispiel 2
Alle anderen Zeichen außer Ziffern führen ebenfalls zu einem Fehler.
Ziffernanzahl Beispiel 3
Gruppen und Referenzmuster
Gruppen und Verweise werden zusammen mit regulären Mustern verwendet, um einige Bereiche eines Alias zu ändern, während andere erhalten bleiben. Dies ist nützlich, wenn Sie Präfixe hinzufügen oder entfernen oder Domänen ändern. Gruppen werden im Musterzeichenfolgenabschnitt festgelegt, und die Verweise werden im Ersetzungszeichenfolgenfeld der Reihe nach erstellt.
Gruppen und Verweise Beispiel 1
In diesem Beispiel gibt es eine Literalübereinstimmung mit @cisco.com, und die testuri-Zeichenfolge wird zugeordnet und nach dem übereinstimmenden regulären Ausdruck gruppiert.
Der \1-Verweis in der Ersetzungszeichenfolge ruft die erste Gruppe innerhalb der Musterzeichenfolge zurück, die unabhängig vom URI mit dem URI verknüpft ist. Der URI wird daher im Ergebnisalias beibehalten.
Die Domäne wird in der ersetzten Zeichenfolge nicht referenziert, stattdessen wird sie durch die interne Domäne ersetzt, was im Ergebnisalias zu sehen ist.
Gruppen können auch verwendet werden, um die URIs neu zu ordnen, da dies flexible Wählpläne ermöglicht.
Gruppen und Verweise Beispiel 2
In diesem Beispiel gibt es einen Alias im Format von 5 Ziffern, gefolgt von einem Punkt und einer weiteren Ziffer, gefolgt von der Domäne.
Die Musterzeichenfolge enthält verschiedene Gruppen und Abschnitte, die separat analysiert werden können.
- Gruppe 1 entspricht das Muster (\d{5}) allen 5 Ziffern am Anfang der Zeichenfolge.
- Der reguläre Ausdruck (\.) stimmt mit einem Punkt überein. Dies bedeutet, dass der ursprüngliche Alias einen Punkt nach den 5 Anfangsziffern benötigt.
- Gruppe 2 entspricht das Muster (\d) einer einzelnen Ziffer.
- In Gruppe 3 entspricht das Literalmuster (@cisco.com) nur der Zeichenfolge, die Sie ändern können, um mehrere Domänen oder eine beliebige Zeichenfolge nach den vorherigen Übereinstimmungen einzuschließen.
Sobald der Alias mit der Musterzeichenfolge übereinstimmt, wird sie durch die Aktion durch die Ersetzungszeichenfolge ersetzt.
Die Ersetzungszeichenfolge referenziert die vorherigen Gruppen in einer neuen Reihenfolge.
- Die Referenz \2 ruft die Gruppe 2 zurück. Dabei handelt es sich um die einstellige Ziffer nach dem Punkt und vor der Domäne.
- Die Referenz \1 ruft die Gruppe 1 zurück. Dies sind die ersten 5 Ziffern des Alias.
- Die Referenz \3 ruft Gruppe 3 zurück. Dies ist der Domänenabschnitt des Alias.
- Der Punkt wird nie referenziert und ist auch nicht Teil einer Gruppe, daher ist er nicht Teil des Ergebnis-Alias.
Der Alias ergibt dann die gleichen Ziffern wie der ursprüngliche Alias, jedoch mit der Ziffer, die ursprünglich hinter dem Punkt am Anfang des Alias stand.
Der Punkt, der die 5 Ziffern und die einzelnen Ziffern trennte, ist nicht mehr Teil des Alias, die Domäne bleibt erhalten.
Nicht jede Gruppe muss referenziert werden, eine Gruppe, auf die nicht verwiesen wird, ist nicht Teil des Ergebnisalias.
Zugehörige Informationen
Technischer Support und Downloads von Cisco