Skip to main content
Data Infrastructure Insights
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Esempi di espressioni regolari

Collaboratori

Se è stato selezionato l'approccio dell'espressione regolare come strategia di denominazione di origine, è possibile utilizzare gli esempi di espressione regolare come guide per le proprie espressioni utilizzate nei metodi di risoluzione automatica di Data Infrastructure Insights.

Formattazione delle espressioni regolari

Quando si creano espressioni regolari per la risoluzione automatica di Data Infrastructure Insights, è possibile configurare il formato di output immettendo i valori in un campo denominato FORMAT.

L'impostazione predefinita è 1, il che significa che il nome di una zona che corrisponde all'espressione regolare viene sostituito dal contenuto della prima variabile creata dall'espressione regolare. In un'espressione regolare, i valori delle variabili vengono creati dalle istruzioni tra parentesi. Se si verificano più istruzioni tra parentesi, le variabili vengono referenziate numericamente, da sinistra a destra. Le variabili possono essere utilizzate nel formato di output in qualsiasi ordine. Il testo costante può anche essere inserito nell'output, aggiungendolo al campo DEL FORMATO.

Ad esempio, per questa convenzione di denominazione delle zone potrebbero essere presenti i seguenti nomi di zona:

 [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

Inoltre, è possibile che l'output sia nel seguente formato:

 [hostname]-[data center]-[device type]
A tale scopo, è necessario acquisire i campi nome host, data center e tipo di dispositivo nelle variabili e utilizzarli nell'output. La seguente espressione regolare consente di eseguire questa operazione:
 .*?_([a-zA-Z0-9]+)_([a-zA-Z0-9]+)_([a-zA-Z0-9]+)_.*
Poiché sono presenti tre gruppi di parentesi, le variabili 1, 2 e 3 vengono popolate.

È quindi possibile utilizzare il seguente formato per ricevere l'output nel formato preferito:

 \2-\1-\3
L'output sarà il seguente:
hostname1-Miami-filer
hostname2-Tampa-switch
hostname3-Boston-windows2K
hostname4-Raleigh-solaris

I trattini tra le variabili forniscono un esempio di testo costante inserito nell'output formattato.

Esempi

Esempio 1 che mostra i nomi delle zone

In questo esempio, si utilizza l'espressione regolare per estrarre un nome host dal nome della zona. È possibile creare un'espressione regolare se si dispone di un'espressione simile ai seguenti nomi di zona:

  • S0032_myComputer1Name-HbA0

  • S0434_myComputer1Name-HBA1

  • S0432_myComputer1Name-HBA3

L'espressione regolare che è possibile utilizzare per acquisire il nome host è:

 S[0-9]+_([a-zA-Z0-9]*)[_-]HBA[0-9]
Il risultato è una corrispondenza di tutte le zone che iniziano con S seguite da qualsiasi combinazione di cifre , seguite da un carattere di sottolineatura, dal nome host alfanumerico (myComputer1Name), da un carattere di sottolineatura o trattino, dalle lettere maiuscole HBA e da una singola cifra (0-9). Il solo nome host è memorizzato nella variabile * 1*.

L'espressione regolare può essere suddivisa nei suoi componenti:

  • "S" rappresenta il nome della zona e inizia l'espressione. Corrisponde solo a una "S" all'inizio del nome della zona.

  • I caratteri [0-9] tra parentesi indicano che la seguente "S" deve essere una cifra compresa tra 0 e 9, inclusi.

  • Il segno + indica che l'occorrenza delle informazioni tra parentesi precedenti deve essere 1 o più volte.

  • _ (Carattere di sottolineatura) significa che le cifre dopo S devono essere immediatamente seguite da un carattere di sottolineatura nel nome della zona. In questo esempio, la convenzione di denominazione delle zone utilizza il carattere di sottolineatura per separare il nome della zona dal nome host.

  • Dopo il carattere di sottolineatura richiesto, le parentesi indicano che il modello contenuto in verrà memorizzato nella variabile 1.

  • I caratteri tra parentesi [a-za-Z0-9] indicano che i caratteri corrispondenti sono tutte lettere (indipendentemente dal maiuscolo/minuscolo) e numeri.

  • Il simbolo * (asterisco) che segue le parentesi indica che i caratteri tra parentesi si verificano 0 o più volte.

  • I caratteri tra parentesi [_-] (sottolineatura e trattino) indicano che il modello alfanumerico deve essere seguito da un trattino basso o un trattino.

  • Le lettere HBA nell'espressione regolare indicano che questa sequenza esatta di caratteri deve essere presente nel nome della zona.

  • Il set finale di caratteri tra parentesi [0-9] corrisponde a una singola cifra compresa tra 0 e 9.

Esempio 2

In questo esempio, saltare fino al primo carattere di sottolineatura "", quindi abbinare e e tutto ciò che segue fino al secondo "", quindi saltare tutto ciò che segue.

ZONA: Z_E2FHDBS01_E1NETAPP

NOME HOST: E2FHDBS01

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

Esempio 3

Le parentesi "( )" intorno all'ultima sezione dell'espressione regolare (di seguito) identificano quale parte è il nome host. Se si desidera che VSAN3 sia il nome host, si tratterebbe di: _([a-za-Z0-9]).*

ZONA: A_VSAN3_SR48KENT_A_CX2578_SPA0

NOME HOST: SR48KENT

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

Esempio 4 che mostra un modello di denominazione più complicato

È possibile creare un'espressione regolare se si dispone di un'espressione simile ai seguenti nomi di zona:

  • MyComputerName123-HBA1_Symm1_FA3

  • MyComputerName123-HBA2_Symm1_FA5

  • MyComputerName123-HBA3_Symm1_FA7

L'espressione regolare che è possibile utilizzare per acquisire questi elementi è:

 ([a-zA-Z0-9]*)_.*
La variabile conterrà solo _myComputerName123_ dopo essere stata valutata da questa espressione.

L'espressione regolare può essere suddivisa nei suoi componenti:

  • Le parentesi indicano che il modello contenuto in verrà memorizzato nella variabile 1.

  • I caratteri tra parentesi [a-za-Z0-9] indicano che qualsiasi lettera (indipendentemente dal caso) o cifra corrisponde.

  • Il simbolo * (asterisco) che segue le parentesi indica che i caratteri tra parentesi si verificano 0 o più volte.

  • Il carattere _ (carattere di sottolineatura) nell'espressione regolare indica che il nome della zona deve avere un carattere di sottolineatura immediatamente dopo la stringa alfanumerica associata dalle parentesi precedenti.

  • Il . (punto) corrisponde a qualsiasi carattere (carattere jolly).

  • Il simbolo * (asterisco) indica che il carattere jolly del punto precedente può verificarsi 0 o più volte.

    In altre parole, la combinazione .* indica qualsiasi carattere, qualsiasi numero di volte.

Esempio 5 che mostra i nomi delle zone senza schema

È possibile creare un'espressione regolare se si dispone di un'espressione simile ai seguenti nomi di zona:

  • myComputerName_HBA1_Symm1_FA1

  • myComputerName123_HBA1_Symm1_FA1

L'espressione regolare che è possibile utilizzare per acquisire questi elementi è:

 (.*?)_.*
La variabile conterrà _MyComputerName_ (nel primo esempio di nome di zona) o _myComputerName123_ (nell'esempio di nome della seconda zona). Questa espressione regolare corrisponde quindi a tutto ciò che precede il primo carattere di sottolineatura.

L'espressione regolare può essere suddivisa nei suoi componenti:

  • Le parentesi indicano che il modello contenuto in verrà memorizzato nella variabile 1.

  • Il .* (punto asterisco) corrisponde a qualsiasi carattere, a qualsiasi numero di volte.

  • Il simbolo * (asterisco) che segue le parentesi indica che i caratteri tra parentesi si verificano 0 o più volte.

  • Il carattere ? rende il match non avido. Questo costringe l'IT a interrompere la corrispondenza al primo underscore, piuttosto che all'ultimo.

  • I caratteri _.* corrispondono al primo carattere di sottolineatura trovato e a tutti i caratteri che lo seguono.

Esempio 6 che mostra i nomi dei computer con un modello

È possibile creare un'espressione regolare se si dispone di un'espressione simile ai seguenti nomi di zona:

  • Storage1_Switch1_myComputerName123A_A1_FC1

  • Storage2_Switch2_myComputerName123B_A2_FC2

  • Storage3_Switch3_myComputerName123T_A3_FC3

L'espressione regolare che è possibile utilizzare per acquisire questi elementi è:

 .*?_.*?_([a-zA-Z0-9]*[ABT])_.*
Poiché la convenzione di denominazione delle zone ha un modello più ampio, è possibile utilizzare l'espressione di cui sopra, che corrisponde a tutte le istanze di un nome host (MyComputerName nell'esempio) che termina con A, a B o a T, inserendo tale nome host nella variabile 1.

L'espressione regolare può essere suddivisa nei suoi componenti:

  • Il .* (punto asterisco) corrisponde a qualsiasi carattere, a qualsiasi numero di volte.

  • Il carattere ? rende il match non avido. Questo costringe l'IT a interrompere la corrispondenza al primo underscore, piuttosto che all'ultimo.

  • Il carattere di sottolineatura corrisponde al primo carattere di sottolineatura nel nome della zona.

  • Pertanto, la prima combinazione di .*?_ corrisponde ai caratteri storage1_ nell'esempio del nome della prima zona.

  • La seconda combinazione .*?_ si comporta come la prima, ma corrisponde a Switch1_ nell'esempio del nome della prima zona.

  • Le parentesi indicano che il modello contenuto in verrà memorizzato nella variabile 1.

  • I caratteri tra parentesi [a-za-Z0-9] indicano che qualsiasi lettera (indipendentemente dal caso) o cifra corrisponde.

  • Il simbolo * (asterisco) che segue le parentesi indica che i caratteri tra parentesi si verificano 0 o più volte.

  • I caratteri tra parentesi nell'espressione regolare [ABT] corrispondono a un singolo carattere nel nome della zona che deve essere A, B o T.

  • Il _ (carattere di sottolineatura) che segue le parentesi indica che la corrispondenza del carattere [ABT] deve essere seguita da un carattere di sottolineatura.

  • Il .* (punto asterisco) corrisponde a qualsiasi carattere, a qualsiasi numero di volte.

Di conseguenza, la variabile 1 contiene una stringa alfanumerica che:

  • è stato preceduto da un numero di caratteri alfanumerici e da due caratteri di sottolineatura

  • seguito da un carattere di sottolineatura (e da un numero qualsiasi di caratteri alfanumerici)

  • Aveva un carattere finale di A, B o T, prima del terzo trattino di sottolineatura.

Esempio 7

Zona: myComputerName123_HBA1_Symm1_FA1

NOME HOST: myComputerName123

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

Esempio 8

Questo esempio trova tutto prima del primo _.

Zona: MyComputerName_HBA1_Symm1_FA1

MyComputerName123_HBA1_Symm1_FA1

Nome host: MyComputerName

Regexp: (.?)_.

Esempio 9

Questo esempio trova tutto dopo il primo _ e fino al secondo _.

Zona: Z_MyComputerName_StorageName

Nome host: Nome computer

RegExp: .?(.?).*?

Esempio 10

Questo esempio estrae "MyComputerName123" dagli esempi di zona.

Zona: storage1_Switch1_MyComputerName123A_A1_FC1

Storage2_Switch2_MyComputerName123B_A2_FC2

Storage3_Switch3_MyComputerName123T_A3_FC3

NOME HOST: MyComputerName123

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

Esempio 11

Zona: storage1_Switch1_MyComputerName123A_A1_FC1

NOME HOST: MyComputerName123A

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

Esempio 12

Il simbolo ^ (circonflesso o accento circonflesso) all'interno delle parentesi quadre nega l'espressione, ad esempio [^FF] indica qualsiasi cosa tranne F maiuscola o minuscola, mentre [^a-z] indica tutto tranne a-z minuscola e, nel caso precedente, qualsiasi cosa tranne _. L'istruzione format aggiunge "-" al nome host di output.

Zona: mhs_apps44_d_A_10a0_0429

Nome host: mhs-apps44-d

RegExp: ()_([AB]).*formato in Data Infrastructure Insights: \1-\2 ([^_])_ ()_([^_]).*formato in Data Infrastructure Insights: \1-\2-\3

Esempio 13

In questo esempio, l'alias dello storage è delimitato da "" e l'espressione deve utilizzare "" per definire che la stringa è effettivamente utilizzata e che non fanno parte dell'espressione stessa.

Storage Alias: host/E2DOC01C1/E2DOC01N1

NOME HOST: E2DOC01N1

RegExp:.?(.?)

Esempio 14

Questo esempio estrae "PD-RV-W-ad-2" dagli esempi di zona.

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

NOME HOST: PD-RV-W-AD-2

RegExp: -(.*-).*

Esempio 15

In questo caso, l'impostazione del formato aggiunge "US-BV-" al nome host.

ZONA: SRV_USBVM11_F1

NOME HOST: US-BV-M11

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

Formato: * US-BV-