Vai al contenuto principale Passa a contenuto complementare

IndexRegExGroup - funzione dello script e del grafico

IndexRegExGroup() effettua una ricerca nella stringa di input e restituisce la posizione iniziale dell'occorrenza n-esima del modello di espressione regolare composita specificato. Un quarto argomento opzionale count fornisce il valore di n, che corrisponde a 1 se omesso. Le posizioni nella stringa sono numerate da sinistra a destra a partire dal valore 1 in poi. Se non viene trovata alcuna corrispondenza, la funzione restituisce 0.

Questa funzione esegue operazioni regex che distinguono tra maiuscole e minuscole. In alternativa, è possibile utilizzare la variante IndexRegExGroupI() per eseguire operazioni regex senza distinzione tra maiuscole e minuscole.

Sintassi:  

IndexRegExGroup (text, regex, group [, count])

Tipo di dati restituiti: numero intero

Argomenti
Argomento Descrizione
text Il testo della stringa di input in cui si desidera cercare un'espressione regolare.
regex L'espressione regolare da utilizzare per la ricerca della stringa di input.
group

Il numero del gruppo, nel caso di un'espressione regolare composita.

Un valore group pari a 0 restituisce l'indice dell'intera regex. Tuttavia, se l'espressione regolare deve restituire solo l'indice dell'intera corrispondenza, utilizzare invece la funzione IndexRegEx().

È possibile specificare un valore group negativo per cercare le corrispondenze da destra a sinistra.

count

Il numero della corrispondenza. Questo è utile quando nel testo si possono trovare più corrispondenze per l'espressione regolare. Per esempio, specificare il valore 4 per cercare la posizione della quarta corrispondenza.

Questo argomento è facoltativo. Se non viene specificata, l'impostazione predefinita è 1. È possibile specificare un valore negativo per cercare le corrispondenze da destra a sinistra.

Esempi di funzioni
Esempio Risultato
IndexRegExGroup('abc123','([a-z])([0-9]+)',0) Restituisce 3 (posizione iniziale della regex completa).
IndexRegExGroup('abc123','([a-z])([0-9]+)',1) Restituisce 3 (posizione iniziale del primo gruppo).
IndexRegExGroup('abc123','([a-z])([0-9]+)',2) Restituisce 4, che è la posizione iniziale del secondo gruppo. Nel modello regex di input, la stringa ([0-9]+) corrisponde al secondo gruppo.
IndexRegExGroup('ABC123','([a-z])([0-9]+)',1) Restituisce 0, perché IndexRegExGroup() fa distinzione tra maiuscole e minuscole.
IndexRegExGroupI('ABC123','([a-z])([0-9]+)',1) Restituisce 3. Viene utilizzata la variante senza distinzione tra maiuscole e minuscole della funzione, IndexRegExI().

Casi d'uso

I casi d'uso di questa funzione includono:

  • Identificazione di dove si verificano modelli testuali specifici all'interno di corpi di testo più ampi. Ad esempio, potrebbe essere necessario sapere dove viene utilizzato il dominio di un indirizzo e-mail in una serie di lunghi messaggi e-mail.

  • La funzione IndexRegExGroup() è particolarmente utile per l'elaborazione avanzata dei dati e viene comunemente utilizzata nella prima fase di una trasformazione più lunga e complessa. In genere, è più facile risolvere i problemi con altre funzioni regex come ExtractRegExGroup(), MatchRegEx() e CountRegEx(), ma a volte IndexRegExGroup() offre soluzioni che queste funzioni non possono fornire.

Esempio 1 - script di caricamento per trovare le posizioni dei componenti ISBN

Esempio 2 - espressioni del grafico per trovare le posizioni dell'URL (con confronto con IndexRegEx() )

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!