Introduction
Ce document décrit comment fonctionnent les expressions régulières (regex) et comment les tester dans les serveurs expressway.
Conditions préalables
Exigences
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Serveurs Video Communications Server (VCS) et Expressway
- Périphériques TelePresence
- Appels interentreprises (B2B)
- Déploiements de collaboration
Composants utilisés
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Informations générales
Les expressions régulières sont des séquences de caractères qui définissent des modèles utilisés pour faire correspondre des chaînes dans du texte. Ces chaînes peuvent ensuite être modifiées ou conservées sur les règles de recherche ou les transformations, ce sont les utilisations les plus courantes pour les expressions régulières.
Types d'expressions régulières
Expressions de base
- Le point (.) correspond à n'importe quel caractère.
- Chiffre (\d) Correspond à un seul chiffre décimal.
- Astérisque (*) Correspond à 0 ou plusieurs répétitions du caractère ou de l'expression précédente.
- Le signe plus (+) correspond à une ou plusieurs répétitions du caractère ou de l'expression précédente.
- Le point d'interrogation (?) correspond à la répétition 0 ou 1 du caractère ou de l'expression précédente.
- L'accolade {n} correspond à n répétitions du caractère ou de l'expression précédente, par exemple (\d{3}) correspond à une chaîne à 3 chiffres.
- Plage d'accolades {n,m} Correspond à n à m répétitions du caractère ou de l'expression précédente, par exemple, (\d{3,5}) correspond à une chaîne de 3, 4 ou 5 chiffres.
- Crochets [...] Correspond à un ensemble de caractères spécifiés, ceux-ci peuvent être spécifiés individuellement ou dans une plage, par exemple, [abc] correspond aux caractères a, b ou c.
- Pour spécifier une plage, utilisez le trait d'union (-) entre le début et la fin de la plage. Par exemple, [a-z] correspond à n'importe quel caractère alphabétique.
- L'utilisation de l'accent circonflexe (^) après l'ouverture du crochet inverse la correspondance. Par exemple, [^a-z] correspond à n'importe quel caractère non alphabétique.
- Les parenthèses (...) regroupent un ensemble de caractères correspondants. Ces groupes peuvent être référencés ultérieurement dans l'ordre en utilisant les caractères \n comme partie d'une chaîne de remplacement.
- Le tuyau (|) correspond à une expression ou à une autre expression. Par exemple, (com|net) correspond à l'une des chaînes com ou net.
Autres expressions
- (?!...) C'est un regard négatif pour l'avenir. Définit une sous-expression qui ne doit pas être présente.
- %localdomains% Correspond à tous les domaines SIP actuellement configurés sur le serveur.
Créer et tester des modèles
Les serveurs Expressway fournissent un outil permettant de tester les modèles sans modifier la configuration afin d’éviter tout impact commercial lors de la création de nouveaux éléments.
Cet outil se trouve sur l’interface web du serveur Expressway, naviguez à Maintenance > Tools > Check Pattern.
Outil Vérifier le motif
- Alias : chaîne à tester, il peut s'agir de l'URI (Uniform Resource Identifier) de destination ou d'enregistrement. Cette chaîne est comparée à la chaîne de modèle pour tester une correspondance.
- Type de motif : ce paramètre détermine la manière dont la chaîne de motif est traitée lorsqu'un motif est vérifié. Regex est le plus couramment utilisé.
- Exact : la chaîne entière doit correspondre exactement au caractère alias du caractère.
- Préfixe : la chaîne doit apparaître au début de l'alias.
- Suffixe : la chaîne doit apparaître à la fin de l'alias.
- Regex : la chaîne est traitée comme une expression régulière.
- Pattern string : modèle par rapport auquel l'alias est comparé.
- Pattern behavior : action exécutée sur une correspondance de modèle. Si une modification doit être exécutée, une nouvelle zone de texte est activée pour spécifier la modification.
- Strip : supprime le préfixe ou le suffixe correspondant de l'alias. Disponible uniquement lorsque le type de motif est défini sur préfixe ou suffixe.
- Leave : aucune modification n'est appliquée à l'alias.
- Remplacer : remplace la partie correspondante de l'alias par le texte de la chaîne de remplacement.
- Add Prefix : ajoute le texte supplémentaire à l'alias.
- Add Suffix : ajoute le texte supplémentaire à l'alias.
Exemples Regex couramment utilisés
Caractère générique Correspondance globale
Ce modèle est largement utilisé lorsqu'aucune correspondance de modèle spécifique n'est requise, mais qu'une règle de recherche ou une transformation doit être prise en compte, l'expression régulière (.*) correspond à n'importe quelle entrée, quel que soit le format ou la longueur. Le point correspond à n'importe quel caractère et l'astérisque correspond à n'importe quelle quantité de répétitions de cette expression.
Caractère générique Match Everything - Exemple 1
Le même modèle réussit, quelle que soit l'entrée d'alias.
Caractère générique Match Everything - Exemple 2
Faire correspondre les domaines locaux et non locaux
Il est généralement utilisé pour faire correspondre un modèle avec une destination de l'un des domaines locaux configurés sur le serveur et pour garder l'appel localement routé au lieu de le router vers Internet. L'expression rationnelle %localdomains% peut être utilisée comme suffixe ou comme deuxième partie du modèle d'expression rationnelle.
Pour configurer les domaines locaux, accédez à Configuration > Domains.
Domaines configurés localement
La correspondance de modèle échoue pour tout domaine autre que ceux configurés localement.
Échec de correspondance des domaines locaux
Et il réussit pour tous les domaines configurés localement.
Correspondance des domaines locaux réussie
L'aspect négatif avant ce modèle (?!.*@%localdomains%) peut également être utilisé pour le résultat opposé. Cela signifie que tout alias qui n'est pas le domaine local est une correspondance réussie.
Anticipation négative pour les domaines locaux
Correspondance des différentes extensions de domaine
Ce modèle est couramment utilisé lorsque la société possède un domaine avec plusieurs postes et permet d'appeler l'un ou l'autre, mais pour la gestion des appels, ceux-ci doivent être normalisés avant d'envisager des règles de recherche.
Ceci est généralement réalisé par le biais de transformations à l'aide de l'expression régulière (|).
Autre extension de domaine - Exemple 1
Le même modèle fait correspondre le domaine avec l'une des deux extensions de domaine, mais le convertit en l'extension normalisée choisie comme résultat.
Autre extension de domaine - Exemple 2
Correspondance des modèles de fraude à péage
Les appels frauduleux de numéro payant ont souvent pour point commun la quantité de chiffres composés. Les appels internationaux nécessitent un code de pays suivi du numéro de téléphone appelé, ce qui fait que ces appels comportent au moins 7 chiffres. Il est également courant que les plans de numérotation internes des entreprises comportent entre 4 et 6 chiffres.
Cela crée une différence claire qui peut être utilisée pour prendre différentes actions pour l'un ou l'autre de ces types d'appels. À l'aide de l'expression rationnelle du nombre de chiffres, vous pouvez spécifier l'action à entreprendre avec chaque appel.
Nombre de chiffres - Exemple 1
Ce modèle ne correspond qu'aux alias de 7 à 15 chiffres. Moins de chiffres ne correspondent pas.
Nombre de chiffres - Exemple 2
Tout caractère autre que les chiffres entraîne également un échec.
Nombre de chiffres - Exemple 3
Groupes et modèles de référence
Les groupes et les références sont utilisés avec les modèles d'expressions rationnelles pour modifier certaines sections d'un alias tout en en conservant d'autres, ce qui est utile lors de l'ajout ou de la suppression de préfixes ou de la modification de domaines. Les groupes sont désignés dans la section chaîne de répétition, et les références sont faites par ordre dans le champ chaîne de remplacement.
Groupes et références - Exemple 1
Dans cet exemple, il y a une correspondance littérale avec @cisco.com et la chaîne testuri est mise en correspondance et groupée par le regex match all.
La référence \1 dans la chaîne de remplacement rappelle le premier groupe à l'intérieur de la chaîne de modèle, qui est lié à l'URI, quel que soit l'URI, et par conséquent l'URI est conservé dans l'alias de résultat.
Le domaine n'est pas référencé dans la chaîne remplacée, il est remplacé par internaldomain, ce qui peut être vu dans l'alias de résultat.
Les groupes peuvent également être utilisés pour réorganiser l'URI, car cela permet des plans de numérotation flexibles.
Groupes et références - Exemple 2
Dans cet exemple, il existe un alias avec le format de 5 chiffres, suivi d'un point et d'un autre chiffre, puis du domaine.
Dans la chaîne de répétition, il y a différents groupes et sections qui peuvent être analysés séparément.
- Groupe 1, le modèle (\d{5}) correspond à n'importe quel 5 chiffres au début de la chaîne.
- L'expression régulière (\.) correspond à un point littéral, ce qui signifie que l'alias d'origine nécessite un point après les 5 chiffres initiaux.
- Groupe 2, le modèle (\d) correspond à un seul chiffre.
- Groupe 3, le modèle littéral (@cisco.com) ne correspond qu'à cette séquence de caractères, il est possible de la modifier pour inclure plusieurs domaines, ou toute chaîne après les correspondances précédentes.
Une fois que l'alias correspond à la chaîne de modèle, l'action entraîne son remplacement par la chaîne de remplacement.
La chaîne de remplacement fait référence aux groupes précédents dans un nouvel ordre.
- La référence \2 rappelle le groupe 2. Il s'agit du seul chiffre après le point et avant le domaine.
- La référence \1 rappelle le groupe 1. Il s'agit des 5 premiers chiffres de l'alias.
- La référence \3 rappelle le groupe 3, il s'agit de la section domaine de l'alias
- Le point n'est jamais référencé et ne fait pas partie d'un groupe. Par conséquent, il ne fait pas partie de l'alias de résultat.
L'alias génère alors les mêmes chiffres que l'alias d'origine, mais avec le chiffre qui était à l'origine après le point, au début de l'alias.
Le point qui séparait les 5 chiffres et le chiffre unique ne fait plus partie de l'alias, le domaine est conservé.
Tous les groupes n'ont pas besoin d'être référencés, un groupe qui n'est pas référencé ne fait pas partie de l'alias de résultat.
Informations connexes
Assistance technique de Cisco et téléchargements