Documentazione/Funzioni di Calc/ESPR.REG

    From The Document Foundation Wiki
    This page is a translated version of the page Documentation/Calc Functions/REGEX and the translation is 59% complete.
    Other languages:


    Nome funzione:

    ESPR.REG

    Categoria:

    Testo

    Riepilogo:

    Confronta una stringa di testo con un'espressione regolare ed estrae o sostituisce il testo corrispondente, a seconda delle impostazioni dell'argomento.

    Sintassi:

    ESPR.REG(Testo; Espressione[; [Sostituzione][; Contrassegno od occorrenza]])

    Restituisce:

    Restituisce uno dei seguenti a seconda dei valori degli argomenti. Per ulteriori informazioni sulla occorrenza di ciascun tipo restituito (con esempi), vedere la sezione #Additional details: di seguito.

    1. Una copia di una sottostringa estratta dal testo originale.
    2. Una copia del testo originale, modificata sostituendo una o più corrispondenze.
    3. Una copia del testo originale, senza modifiche.
    4. Errore relativo a un valore non disponibile (#N/D).

    Argomenti:

    Testo è una stringa di testo (tra virgolette), oppure un riferimento ad una cella contenente una stringa di testo, ovvero il testo originale a cui applicare Espressione.

    Espressione è una stringa di testo (tra virgolette), oppure un riferimento ad una cella contenente una stringa di testo, ovvero l'espressione regolare da applicare a Testo.

    Sostituzione è una stringa di testo (tra virgolette), oppure un riferimento ad una cella contenente una stringa di testo, ovvero il testo sostitutivo da utilizzare. L'impostazione di Sostituzione su una stringa vuota può essere utilizzata come meccanismo per eliminare i caratteri corrispondenti.

    Contrassegno od occorrenza è una delle seguenti opzioni:

    1. Una stringa comprendente un singolo carattere "g" minuscolo o un riferimento a una cella contenente tale stringa di testo. Il carattere "g" viene utilizzato per selezionare la sostituzione globale, in modo che qualsiasi sostituzione venga applicata a tutte le corrispondenze.
    2. Un numero intero non negativo o un riferimento a una cella contenente tale numero intero, che indica quale corrispondenza specifica deve essere utilizzata.
    • Se Espressione non è un'espressione regolare valida, allora ESPR.REG segnala un errore di argomento non valido (Err:502 ).
    • Se Contrassegno od occorrenza è una stringa di testo non numerica che contiene qualsiasi carattere diverso da una singola "g" minuscola, allora ESPR.REG segnala un errore di argomento non valido ( Err:502).
    • Se Contrassegno od occorrenza è un valore numerico negativo, allora ESPR.REG segnala un errore di argomento non valido (Err: 502).
    • Se Contrassegno od occorrenza è un valore numerico non negativo e non intero, allora ESPR.REG utilizza il suo valore minimo.
    • Se Sostituzione' viene omesso e Contrassegno od occorrenza è impostato su "g", allora ESPR.REG si comporta come se entrambi Sostituzione' e Contrassegno od occorrenza sono stati omessi.

    Dettagli aggiuntivi:

    Dettagli specifici della funzione ESPR.REG

    • Il funzionamento della funzione ESPR.REG non dipende dall'opzione attualmente selezionata nell'area Caratteri jolly formule di Strumenti ▸ Opzioni ▸ LibreOffice Calc ▸ Calcola (o LibreOffice ▸ Preferenze ▸ LibreOffice Calc ▸ Calcola su macOS).
    • L'impostazione predefinita iniziale prevede che ESPR.REG utilizzi la corrispondenza con distinzione tra maiuscole e minuscole, ma questo può essere modificato utilizzando i flag all'interno dell'espressione regolare ICU. Ad esempio, includi "(?i)" all'interno dell'espressione regolare per passare a una corrispondenza senza distinzione tra maiuscole e minuscole, come in =ESPR.REG("test","(? i)"& "TEST").
    • La stringa originale passata nell'argomento Testo non è influenzata da eventuali sostituzioni effettuate da ESPR.REG – le modifiche si riflettono solo nella stringa restituita.
    • Potrebbe essere utile considerare ESPR.REG come operante in una delle cinque "modalità" distinte a seconda degli argomenti passati alla funzione. Queste modalità sono le seguenti:
    1. ESPR.REG(Testo; Espressione) estrae la prima corrispondenza di Espressione in Testo . Questo semplice modulo può essere utile per verificare che una stringa sia conforme ad alcuni modelli predefiniti (come numeri di telefono, indirizzi email, codici postali, ecc.).
      • La formula =ESPR.REG("LibreOffice Calc"; ".c") estrae la prima occorrenza di una "c" minuscola preceduta da qualsiasi altro carattere e restituisce la stringa "ic".
      • La formula =ESPR.REG("LibreOffice Calc"; "Z") non trova corrispondenza e restituisce #N/D.
    2. ESPR.REG(Testo; Espressione; Sostituzione) sostituisce la prima corrispondenza di Espressione in Testo con Sostituzione. Se c'è una corrispondenza, ESPR.REG restituisce la versione modificata di Testo; se non c'è corrispondenza, Testo viene restituito senza modifiche.
      • La formula =ESPR.REG("Inizializza nuove variabili e ottimizza il vostro codice."; "ise"; "ize") restituisce "Inizializza nuove variabili e ottimizza il vostrocodice.".
      • The formula =ESPR.REG("LibreOffice Calc"; "Z"; "?") finds no match and returns the string "LibreOffice Calc" unmodified.
    3. ESPR.REG(Text; Expression; Replacement; "g") replaces all matches of Expression in Text with Replacement. If there is a match, ESPR.REG returns the modified version of Text; if there is no match, Text is returned unmodified.
      • The formula =ESPR.REG("Initialise new variables and optimise your code."; "ise"; "ize"; "g") returns "Initialize new variables and optimize your code.".
      • The formula =ESPR.REG("LibreOffice Calc"; "Z"; "?"; "g") finds no match and returns the string "LibreOffice Calc" unmodified.
    4. ESPR.REG(Text; Expression; ; Occurrence) extracts the nth match of Expression in Text (where n is given by the value of the Occurrence argument).
      • The formula =ESPR.REG("LibreOffice Calc"; ".c"; ; 1) extracts the first occurrence of a lowercase "c" preceded by any other character and returns the string "ic".
      • The formula =ESPR.REG("LibreOffice Calc"; ".c"; ; 2) extracts the second occurrence of a lowercase "c" preceded by any other character and returns the string "lc".
      • The formula =ESPR.REG("LibreOffice Calc"; ".c"; ; 3) finds no match and returns #N/D.
      • The value of 0 for Occurrence is a special case, for which ESPR.REG returns Text unmodified.
    5. ESPR.REG(Text; Expression; Replacement; Occurrence) replaces the nth match of Expression in Text with Replacement (where n is given by the value of the Occurrence argument). If there is a match, ESPR.REG returns the modified version of Text; if there is no match, Text is returned unmodified.
      • The formula =ESPR.REG("Initialise new variables and optimise your code."; "ise"; "ize"; 1) returns "Initialize new variables and optimise your code.".
      • The formula =ESPR.REG("Initialise new variables and optimise your code."; "ise"; "ize"; 2) returns "Initialise new variables and optimize your code.".
      • The formula =ESPR.REG("Initialise new variables and optimise your code."; "ise"; "ize"; 3) returns the string "Initialise new variables and optimise your code." unmodified.
      • The value of 0 for Occurrence is a special case, for which ESPR.REG returns Text unmodified.


    Informazioni generali sulle espressioni regolari in Calc

    Note pin.svg

    Nota:
    Per comodità, le informazioni di questa sezione sono ripetute su tutte le pagine che descrivono le funzioni che gestiscono le espressioni regolari.

    • Un'espressione regolare è una stringa di caratteri che definisce una sequenza di testo da ricercare. Potete trovare maggiori e più dettagliate informazioni sulla pagina di Wikipedia relativa alle Espressioni regolari.
    • Le espressioni regolari sono ampiamente usate in molti campi e sono disponibili molteplici processori di espressioni regolari. Calc utilizza il pacchetto open source Regular Expressions della International Components for Unicode (ICU). Vedere la loro documentazione sulle Espressioni regolari per maggiori dettagli, che comprendono la definizione integrale della sintassi delle Espressioni regolari ICU.
    • In aggiunta a ciò, la guida in linea di LibreOffice fornisce un elenco delle espressioni regolari di alto livello.
    • Il motore per le espressioni regolari di Calc supporta il rilevamento di gruppi numerati, che consentono di identificare dei sotto intervalli all'interno di una corrispondenza e di usarli all'interno di un testo sostitutivo. Le parentesi sono usate per raggruppare i componenti di un'espressione regolare e creare un gruppo numerato. Per inserire un gruppo rilevato all'interno di un testo sostitutivo, usate il formato "$n", nel quale n è il numero del gruppo rilevato.

    Esempi:

    Formula Descrizione Restituisce
    =ESPR.REG("123456ABCDEF"; "[:digit:]"; "Z") Here the function returns "Z23456ABCDEF", where the first match of a digit is replaced by "Z". Z23456ABCDEF
    =ESPR.REG(D1; D2; D3; D4) where cells D1 to D4 contain the strings "123456ABCDEF", "[:digit:]", "Z", and "g" respectively. Here the function returns "ZZZZZZABCDEF", where all digits are replaced by "Z". ZZZZZZABCDEF
    =ESPR.REG("123456ABCDEF"; "[126]"; ""; "g") Here the function returns "345ABCDEF", where any occurrence of "1", "2", or "6" is replaced by the empty string, and thus deleted. 345ABCDEF
    =ESPR.REG("axbxcxd"; ".x"; ; 2) Here the function returns "bx", the second match of ".x". bx
    =ESPR.REG("axbxcxd"; "(.)x"; "$1y"; 2) Here the function returns "axbycxd", the second match of "(.)x" (i.e. "bx") is replaced with the captured group of one character (i.e. "b") followed by "y". axbycxd
    =ESPR.REG("LibreOffice Calc"; "libreoffice") Here the function returns #N/D because by default matching is case-sensitive. #N/D
    =ESPR.REG("LibreOffice Calc"; "(?i)libreoffice") Here the function finds a match and returns "LibreOffice", because the (?i) search flag switches to a case-insensitive match. LibreOffice

    Funzioni di LibreOffice correlate:

    Nessuno.

    Standard ODF:

    Nessuno

    Funzioni equivalenti (o simili) di Excel:

    Nessuno