Skip to main content
Data Infrastructure Insights
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Exemples d'expression régulière

Contributeurs

Si vous avez sélectionné l'approche expression régulière comme stratégie de nommage de source, vous pouvez utiliser les exemples d'expression régulière comme guides pour vos propres expressions utilisées dans les méthodes de résolution automatique de Data Infrastructure Insights.

Formatage des expressions régulières

Lorsque vous créez des expressions régulières pour la résolution automatique de Data Infrastructure Insights, vous pouvez configurer le format de sortie en entrant des valeurs dans un champ nommé FORMAT.

Le paramètre par défaut est \1, ce qui signifie qu'un nom de zone correspondant à l'expression régulière est remplacé par le contenu de la première variable créée par l'expression régulière. Dans une expression régulière, les valeurs des variables sont créées par des instructions entre parenthèses. Si plusieurs instructions entre parenthèses se produisent, les variables sont référencées numériquement, de gauche à droite. Les variables peuvent être utilisées dans le format de sortie dans n'importe quel ordre. Le texte constant peut également être inséré dans la sortie, en l'ajoutant au champ FORMAT.

Par exemple, vous pouvez avoir les noms de zone suivants pour cette convention d'appellation de zone :

 [Zone number]_[data center]_[hostname]_[device type]_[interface number]
* S123_Miami_hostname1_filer_FC1
* S14_Tampa_hostname2_switch_FC4
* S3991_Boston_hostname3_windows2K_FC0
* S44_Raleigh_hostname4_solaris_FC1

La sortie peut être au format suivant :

 [hostname]-[data center]-[device type]
Pour ce faire, vous devez capturer les champs de nom d'hôte, de centre de données et de type de périphérique dans les variables et les utiliser dans la sortie. L'expression régulière suivante ferait ceci :
 .*?_([a-zA-Z0-9]+)_([a-zA-Z0-9]+)_([a-zA-Z0-9]+)_.*
Comme il y a trois ensembles de parenthèses, les variables \1, \2 et \3 seraient renseignées.

Vous pouvez ensuite utiliser le format suivant pour recevoir les sorties au format de votre choix :

 \2-\1-\3
Votre résultat sera le suivant :
hostname1-Miami-filer
hostname2-Tampa-switch
hostname3-Boston-windows2K
hostname4-Raleigh-solaris

Les tirets entre les variables fournissent un exemple de texte constant inséré dans la sortie formatée.

Exemples

Exemple 1 montrant les noms de zone

Dans cet exemple, vous utilisez l'expression régulière pour extraire un nom d'hôte du nom de zone. Vous pouvez créer une expression régulière si vous avez quelque chose de similaire aux noms de zone suivants :

  • S0032_myComputer1Name-HBA0

  • S0434_myComputer1Name-HBA1

  • S0432_myComputer1Name-HBA3

L'expression régulière que vous pouvez utiliser pour capturer le nom d'hôte est :

 S[0-9]+_([a-zA-Z0-9]*)[_-]HBA[0-9]
Le résultat est une correspondance de toutes les zones commençant par S qui sont suivies d'une combinaison de chiffres , suivie d'un trait de soulignement, du nom d'hôte alphanumérique (myComputer1Name), d'un trait de soulignement ou d'un tiret, des lettres en majuscule HBA et d'un seul chiffre (0-9). Le nom d'hôte seul est stocké dans la variable *\1*.

L'expression régulière peut être divisée en ses composants :

  • "S" représente le nom de la zone et commence l'expression. Ceci correspond uniquement à un « S » au début du nom de la zone.

  • Les caractères [0-9] entre parenthèses indiquent que ce qui suit "S" doit être un chiffre compris entre 0 et 9.

  • Le signe + indique que l'occurrence des informations entre crochets précédents doit exister 1 fois ou plus.

  • Le _ (trait de soulignement) signifie que les chiffres après S doivent être suivis immédiatement par un caractère de soulignement dans le nom de zone. Dans cet exemple, la convention de dénomination de zone utilise le trait de soulignement pour séparer le nom de zone du nom d'hôte.

  • Après le trait de soulignement requis, les parenthèses indiquent que le motif contenu dans sera stocké dans la variable \1.

  • Les caractères entre crochets [a-ZA-Z0-9] indiquent que les caractères correspondants sont tous des lettres (indépendamment du cas) et des chiffres.

  • Le * (astérisque) suivant les crochets indique que les caractères entre crochets se produisent 0 fois ou plus.

  • Les caractères entre crochets [_-] (trait de soulignement et tiret) indiquent que le motif alphanumérique doit être suivi d'un trait de soulignement ou d'un tiret.

  • Les lettres HBA dans l'expression régulière indiquent que cette séquence exacte de caractères doit se produire dans le nom de la zone.

  • Le jeu final de caractères entre parenthèses [0-9] correspond à un chiffre unique de 0 à 9 inclus.

Exemple 2

Dans cet exemple, passez au premier trait de soulignement "", puis faites correspondre E et tout ce qui suit jusqu'au second "", puis sautez tout après cela.

ZONE: Z_E2FHDBS01_E1NETAPP

NOM D'HÔTE: E2FHDBS01

RegExp: .?(E.?).*?

Exemple 3

Les parenthèses "( )" autour de la dernière section de l'expression régulière (ci-dessous) identifie la partie qui est le nom d'hôte. Si vous souhaitez que VSAN3 soit le nom d'hôte, il s'agit de : _([a-ZA-Z0-9]).*

ZONE: A_VSAN3_SR48KENT_A_CX2578_SPA0

NOM D'HÔTE: SR48KENT

RegExp: _[a-ZA-Z0-9]+_([a-ZA-Z0-9]).*

Exemple 4 montrant un modèle de dénomination plus complexe

Vous pouvez créer une expression régulière si vous avez quelque chose de similaire aux noms de zone suivants :

  • MyComputerName123-HBA1_Symm1_FA3

  • MyComputerName123-HBA2_Symm1_FA5

  • MyComputerName123-HBA3_Symm1_FA7

L'expression régulière que vous pouvez utiliser pour capturer ces expressions est :

 ([a-zA-Z0-9]*)_.*
La variable \1 ne contiendra que _myComputerName123_ après avoir été évaluée par cette expression.

L'expression régulière peut être divisée en ses composants :

  • Les parenthèses indiquent que le motif contenu dans sera stocké dans la variable \1.

  • Les caractères entre crochets [a-ZA-Z0-9] signifient que toute lettre (quel que soit le cas) ou tout chiffre correspond.

  • Le * (astérisque) suivant les crochets indique que les caractères entre crochets se produisent 0 fois ou plus.

  • Le caractère _ (trait de soulignement) dans l'expression régulière signifie que le nom de la zone doit avoir un trait de soulignement immédiatement après la chaîne alphanumérique qui correspond aux crochets précédents.

  • Le . (point) correspond à n'importe quel caractère (caractère générique).

  • L'astérisque (*) indique que le caractère générique de la période précédente peut se produire 0 fois ou plus.

    En d'autres termes, la combinaison .* indique n'importe quel caractère, n'importe quel nombre de fois.

Exemple 5 montrant les noms de zone sans motif

Vous pouvez créer une expression régulière si vous avez quelque chose de similaire aux noms de zone suivants :

  • myComputerName_HBA1_Symm1_FA1

  • myComputerName123_HBA1_Symm1_FA1

L'expression régulière que vous pouvez utiliser pour capturer ces expressions est :

 (.*?)_.*
La variable \1 contiendra _myComputerName_ (dans le premier exemple de nom de zone) ou _myComputerName123_ (dans le second exemple de nom de zone). Cette expression régulière correspond donc à tout ce qui précède le premier trait de soulignement.

L'expression régulière peut être divisée en ses composants :

  • Les parenthèses indiquent que le motif contenu dans sera stocké dans la variable \1.

  • Le .* (astérisque de point) correspondent à n'importe quel caractère, à n'importe quel nombre de fois.

  • Le * (astérisque) suivant les crochets indique que les caractères entre crochets se produisent 0 fois ou plus.

  • Le caractère ? rend le match non-avide. Cela la force à arrêter la correspondance au premier trait de soulignement plutôt qu'au dernier.

  • Les caractères _.* correspondent au premier trait de soulignement trouvé et à tous les caractères qui le suivent.

Exemple 6 montrant les noms d'ordinateur avec un motif

Vous pouvez créer une expression régulière si vous avez quelque chose de similaire aux noms de zone suivants :

  • Storage1_Switch1_myComputerName123A_A1_FC1

  • Storage2_Switch2_myComputerName123B_A2_FC2

  • Storage3_Switch3_myComputerName123T_A3_FC3

L'expression régulière que vous pouvez utiliser pour capturer ces expressions est :

 .*?_.*?_([a-zA-Z0-9]*[ABT])_.*
Comme la convention de nom de zone comporte davantage de motifs, nous pouvons utiliser l'expression ci-dessus, qui correspond à toutes les instances d'un nom d'hôte (myComputerName dans l'exemple) qui se termine par un A, un B ou un T, en plaçant ce nom d'hôte dans la variable \1.

L'expression régulière peut être divisée en ses composants :

  • Le .* (astérisque de point) correspondent à n'importe quel caractère, à n'importe quel nombre de fois.

  • Le caractère ? rend le match non-avide. Cela la force à arrêter la correspondance au premier trait de soulignement plutôt qu'au dernier.

  • Le caractère de soulignement correspond au premier trait de soulignement du nom de la zone.

  • Ainsi, la première combinaison .*?_ correspond aux caractères storage1_ dans l'exemple de nom de première zone.

  • La seconde combinaison .*?_ se comporte comme la première, mais correspond à Switch1_ dans l'exemple de nom de première zone.

  • Les parenthèses indiquent que le motif contenu dans sera stocké dans la variable \1.

  • Les caractères entre crochets [a-ZA-Z0-9] signifient que toute lettre (quel que soit le cas) ou tout chiffre correspond.

  • Le * (astérisque) suivant les crochets indique que les caractères entre crochets se produisent 0 fois ou plus.

  • Les caractères entre crochets dans l'expression régulière [ABT] correspondent à un seul caractère dans le nom de zone qui doit être A, B ou T.

  • Le symbole _ (trait de soulignement) suivant les parenthèses indique que la correspondance [ABT] doit être suivie d'un trait de soulignement.

  • Le .* (astérisque de point) correspondent à n'importe quel caractère, à n'importe quel nombre de fois.

Par conséquent, la variable \1 contient toute chaîne alphanumérique qui :

  • a été précédé d'un certain nombre de caractères alphanumériques et de deux traits de soulignement

  • a été suivi d'un trait de soulignement (puis d'un nombre quelconque de caractères alphanumériques)

  • Avait un caractère final de A, B ou T, avant le troisième trait de soulignement.

Exemple 7

Zone: myComputerName123_HBA1_Symm1_FA1

NOM D'HÔTE: myComputerName123

RegExp: ([a-ZA-Z0-9]+).*

Exemple 8

Cet exemple trouve tout avant le premier _.

Zone : MyComputerName_HBA1_Symm1_FA1

MyComputerName123_HBA1_Symm1_FA1

Nom d'hôte : MyComputerName

Regexp: (.?)_.

Exemple 9

Cet exemple trouve tout après le 1er _ et jusqu'au second _.

Zone: Z_MyComputerName_StorageName

Nom d'hôte: MyComputerName

RegExp: .?(.?).*?

Exemple 10

Cet exemple extrait "MyComputerName123" des exemples de zone.

Zone: storage1_Switch1_MyComputerName123A_A1_FC1

Storage2_Switch2_MyComputerName123B_A2_FC2

Storage3_Switch3_MyComputerName123T_A3_FC3

NOM D'HÔTE: MyComputerName123

RegExp: .?.?([a-ZA-Z0-9]+)[ABT]_.

Exemple 11

Zone: storage1_Switch1_MyComputerName123A_A1_FC1

NOM D'HÔTE: MyComputerName123A

RegExp: .?.?([a-ZA-z0-9]+).*?

Exemple 12

Le ^ (circumflex ou caret) à l'intérieur des crochets nient l'expression, par exemple, [^FF] signifie tout sauf majuscules ou minuscules F, et [^a-z] signifie tout sauf la minuscule a à z, et dans le cas ci-dessus, tout sauf le _. L'instruction format ajoute dans le "-" au nom d'hôte de sortie.

Zone: mhs_apps44_d_A_10a0_0429

Nom d'hôte: mhs-apps44-d

RegExp: ()_([AB]).*format dans les informations de l'infrastructure de données : \1-\2 ([^_])_ ()_([^_]).*format dans les informations de l'infrastructure de données : \1-\2-\3

Exemple 13

Dans cet exemple, l'alias de stockage est délimité par "\" et l'expression doit utiliser "\" pour définir qu'il y a en fait "\" utilisé dans la chaîne, et que ceux-ci ne font pas partie de l'expression elle-même.

Alias de stockage: \hosts\E2DOC01C1\E2DOC01N1

NOM D'HÔTE: E2DOC01N1

RegExp: \\.?\.?\\\(.*?)

Exemple 14

Cet exemple extrait "PD-RV-W-AD-2" des exemples de zone.

ZONE: PD_D-PD-RV-W-AD-2_01

NOM D'HÔTE: PD-RV-W-AD-2

RegExp: -(.*-\d).*

Exemple 15

Le paramètre de format dans ce cas ajoute le paramètre « US-BV- » au nom d'hôte.

ZONE: SRV_USBVM11_F1

NOM D'HÔTE: US-BV-M11

RegExp: SRV_USBV([A-Za-z0-9]+)_F[12]

Format: US-BV-\1