Skip to content
Torna all'inizio

# Espressioni regolari

Le espressioni regolari descrivono modelli in stringhe che possono essere utilizzati per determinare se un dato modello si verifica in un testo o meno.

In TreeSize, le espressioni regolari possono essere utilizzate per trovare file e/o cartelle specifici che corrispondono ai criteri specificati dalle espressioni regolari. È supportata una lista di caratteri speciali.

La seguente tabella mostra alcune delle sintassi più utilizzate e fornisce alcuni esempi:

Espressione | Sintassi | Descrizione | Esempio
--- | --- | --- | ---
Qualsiasi carattere | `.` | Corrisponde a qualsiasi singolo carattere tranne un’interruzione di riga. | `a.o` corrisponde a «aro» in «around» e «abo» in «about» ma non a «acro» in «across».
Zero o più | `*` | Corrisponde a zero o più occorrenze dell’espressione precedente e fa tutte le corrispondenze possibili. | `a*b` corrisponde a «b» in «bat» e «ab» in «about». `e.*e` corrisponde alla parola «enterprise».
Uno o più | `+` | Corrisponde ad almeno un’occorrenza dell’espressione precedente. | `ac+` corrisponde a parole che contengono la lettera «a» e almeno un’istanza di «c», come «race» e «ace». `a.+s` corrisponde alla parola «access».
Inizio della stringa | `^` | Corrisponde all’inizio di una stringa. | `^[0-9]` corrisponde a stringhe che iniziano con una cifra.
Fine della stringa | `$` | Corrisponde alla fine di una stringa. | `exe$` corrisponde a stringhe che terminano con «exe».
Inizio della parola | `[[:<:]]` | Corrisponde solo quando una parola inizia in questo punto del testo. | `[[:<:]]in` corrisponde a parole come «inside» e «into» che iniziano con le lettere «in».
Fine della parola | `[[:>:]]` | Corrisponde solo quando una parola termina in questo punto del testo. | `ss[[:>:]]` corrisponde a parole come «across» e «loss» che terminano con le lettere «ss».
Qualsiasi carattere nel set | `[]` | Corrisponde a uno qualsiasi dei caratteri in []. Per specificare un intervallo di caratteri, elencare i caratteri iniziali e finali separati da un trattino (-), come in [a-z]. | `be[n-t]` corrisponde a «bet» in «between», «ben» in «beneath» e «bes» in «beside», ma non a «bel» in «below».
Qualsiasi carattere non nel set | `[^...]` | Corrisponde a qualsiasi carattere che non è nel set di caratteri che segue il `^`. | `be[^n-t]` corrisponde a «bef» in «before», «beh» in «behind» e «bel» in «below», ma non a «ben» in «beneath».
Oppure | `|` | Corrisponde all’espressione prima o a quella dopo il simbolo OR (|). Utilizzato principalmente in un gruppo. | `(sponge|mud)` corrisponde a «sponge bath» e «mud bath».
Carattere di escape | `\` | Corrisponde al carattere che segue il backslash (`\`) come letterale. Questo consente di trovare i caratteri utilizzati nella notazione delle espressioni regolari, come `{` e `^`. | `\^` cerca il carattere `^`.
Ripeti n volte | `{n}` | Corrisponde a n occorrenze dell’espressione precedente. | `[0-9]{4}` corrisponde a qualsiasi sequenza di 4 cifre.
Raggruppamento | `()` | Consente di raggruppare un insieme di espressioni insieme. Se si desidera cercare due espressioni diverse in una singola ricerca, è possibile utilizzare l’espressione di Raggruppamento per combinarle. | Se si desidera cercare `[a-z][1-3]` o `[0-9][a-z]`, è possibile combinarle: `([a-z][1-3])|([0-9][a-z])`.

## Ulteriori esempi

Espressione Regolare | Caso d’uso
--- | ---
`[0-9]` o `\d` | Trova tutti i file/cartelle con almeno una cifra nel nome.
`a|b` | Trova tutti i file/cartelle che contengono «a» o «b» nel nome.
`[^(A-Za-z)]` | Trova tutti i file/cartelle che contengono almeno un carattere nel nome che non è compreso nell’intervallo A-Z o a-z.
`^E[0-9]{7}$` | Trova tutti i file/cartelle che iniziano con una «E» seguita esattamente da 7 cifre.
`[A-Za-z]:\\([^\\]+\\){2,4}[^\\]+$` | Trova tutti i file/cartelle con una profondità cartella di almeno 2 e al massimo 4.
`[^\x00-\x7F]` | Trova tutti i file/cartelle con caratteri ASCII non validi.
`[^\P{C}]` | Trova tutti i file/cartelle con caratteri Unicode che non possono essere stampati.
`[\xA0]` | Trova tutti i nomi di file/cartelle che contengono il carattere di spazio non separabile (Unicode NOBR, U+00A0) invece di un normale carattere di spazio.
`[~\""#%&\*\:<>\?\/\\{|}]` | Trova tutti i nomi di file e cartelle che contengono caratteri non validi sui server SharePoint.
`^\s+.*` | Trova tutti i file e le cartelle con uno spazio iniziale.
`\s+(\.[^.]+)$` | Trova file con un’estensione che hanno uno spazio finale alla fine del loro nome.
`.*\s+$` | Trova cartelle con uno spazio finale alla fine del loro nome.

## Strumenti per creare espressioni regolari

https://regex101.com/ (online)

http://regexpal.com/ (online)

http://sourceforge.net/projects/regexpeditor/ (download)

http://sourceforge.net/projects/regextester/ (download)

http://sourceforge.net/projects/regaxe/ (download)