# Espressioni regolari nei filtri e nelle sostituzioni

Language: it
Canonical: <https://flowin.click/it/articles/espressioni-regolari-nei-filtri-e-nelle-sostituzioni>
Published: 2026-11-06T01:28:08+00:00
Modified: 2026-11-06T01:28:08+00:00

Un’espressione regolare descrive il testo da cercare. Invece di una frase esatta, specifichi uno schema: per esempio, la parola «Richiesta» seguita da un numero qualsiasi. Il numero può cambiare in ogni messaggio, ma lo schema troverà comunque il testo che ti serve.

Puoi cercare date, link, singole parole, righe intere e quasi tutte le combinazioni di testo che riesci a descrivere con una regola. Pochi semplici simboli bastano per gestire valori variabili, scegliere fra più alternative e saltare i caratteri superflui. Le possibilità sono molto più ampie di quelle di una normale ricerca per parola.

![Ricerca delle parti di testo che corrispondono a uno schema](<https://flowin.click/wp-content/uploads/2026/10/cf-da8cc01b43e113428f944f35.webp>)

Indice dell’articolo

- [Cosa puoi fare con le espressioni regolari](<https://flowin.click/it/articles/espressioni-regolari-nei-filtri-e-nelle-sostituzioni#headline-6-324>)
- [Come leggere un’espressione regolare](<https://flowin.click/it/articles/espressioni-regolari-nei-filtri-e-nelle-sostituzioni#reading-pattern>)
- [Sintassi delle espressioni regolari](<https://flowin.click/it/articles/espressioni-regolari-nei-filtri-e-nelle-sostituzioni#headline-11-324>)
- [Impostazioni di ricerca in FLOWIN](<https://flowin.click/it/articles/espressioni-regolari-nei-filtri-e-nelle-sostituzioni#flowin-flags>)
- [Schemi pronti all’uso](<https://flowin.click/it/articles/espressioni-regolari-nei-filtri-e-nelle-sostituzioni#headline-45-640>)
- [Domande frequenti](<https://flowin.click/it/articles/espressioni-regolari-nei-filtri-e-nelle-sostituzioni#faq>)

## Cosa puoi fare con le espressioni regolari

Nei filtri e nelle sostituzioni di FLOWIN puoi usare le espressioni regolari per:

- Aggiungere un testo qualsiasi all’inizio o alla fine dei messaggi.
- Filtrare i messaggi che contengono link.
- Rimuovere dai messaggi copiati link, numeri di telefono, indirizzi email e altri recapiti.
- Filtrare i messaggi lunghi oppure, al contrario, solo quelli brevi.

Modalità «Regexp»

Nelle impostazioni di un filtro o di una sostituzione, la modalità «Regexp» accanto al campo «Ricerca» attiva la ricerca con un’espressione regolare. Inserisci lo schema nel campo. Per creare la regola e applicarla a un inoltro, segui le istruzioni per i [filtri](<https://flowin.click/it/articles/filtrare-i-messaggi-inoltrati>) e le [sostituzioni](<https://flowin.click/it/articles/sostituzioni-nei-messaggi-inoltrati>).

[![La modalità Regexp accanto al campo Ricerca nelle impostazioni della sostituzione](<https://flowin.click/wp-content/uploads/2026/11/cf-653606458167b9284e01c75b.webp>)](<https://flowin.click/wp-content/uploads/2026/11/cf-653606458167b9284e01c75b.webp>)

«Regexp» nelle impostazioni della sostituzione.

## Come leggere un’espressione regolare

Cominciamo dallo schema ` Richiesta #\d+ `. Trova sia ` Richiesta #125 ` sia ` Richiesta #8072 `, anche se i numeri sono diversi. Leggiamolo da sinistra a destra:

- ` Richiesta # ` cerca esattamente queste lettere, lo spazio e il simbolo che precede il numero.
- ` \d ` indica una cifra qualsiasi da 0 a 9.
- ` + ` richiede una o più cifre consecutive di questo tipo.

Il testo trovato si chiama corrispondenza. Nel messaggio ` Richiesta #125 accettata ` la corrispondenza sarà ` Richiesta #125 `, mentre la parola ` accettata ` ne rimarrà fuori. In un filtro, la corrispondenza aiuta a stabilire se il messaggio soddisfa la condizione. In una sostituzione indica quale parte modificare.

Le lettere e gli spazi normali presenti nello schema vengono cercati esattamente come sono scritti. I caratteri speciali definiscono le regole. Vediamo prima i simboli principali e poi alcuni esempi pronti all’uso per diversi compiti.

## Sintassi delle espressioni regolari

Per iniziare a usare le espressioni regolari occorre conoscerne la sintassi, cioè capire cosa indicano determinati caratteri.

### Simboli principali

- ` ^ ` indica l’inizio del testo.
- ` $ ` indica la fine del testo.
- ` . ` corrisponde a qualsiasi carattere, compresa un’interruzione di riga.
- ` \d ` corrisponde a una cifra da 0 a 9.
- ` \w ` corrisponde a una lettera latina, una cifra o un trattino basso.
- ` \n ` indica un’interruzione di riga.
- ` \t ` indica una tabulazione.
- ` \s ` corrisponde a uno spazio normale, una tabulazione, un’interruzione di riga, un ritorno a capo o un avanzamento pagina.
- ` \b ` verifica il confine di una parola, per esempio tra una lettera e uno spazio. Non aggiunge alcun carattere alla corrispondenza.

### Quantificatori

I quantificatori indicano quante volte si ripete il carattere o il gruppo che li precede. Un gruppo riunisce più caratteri tra parentesi tonde.

- ` * ` significa zero o più volte.
- ` + ` significa una o più volte.
- ` ? ` significa zero o una volta.
- ` {5} ` significa esattamente cinque volte.
- ` {1,5} ` significa da una a cinque volte.
- ` {1,} ` significa una o più volte.
- ` {0,5} ` significa da zero a cinque volte.

Per esempio:

- ` a+ ` corrisponde a ` a `, ` aa `, ` aaa ` e così via.
- ` .* ` corrisponde a qualsiasi testo, anche vuoto.
- ` ab{3} ` corrisponde a ` abbb `.

### Gruppi

Le parentesi tonde ` ( ) ` riuniscono più caratteri in un gruppo. I gruppi si usano soprattutto con i [quantificatori](<https://flowin.click/it/articles/espressioni-regolari-nei-filtri-e-nelle-sostituzioni#quantifiers>) o con la barra verticale ` | `, che indica l’operatore logico O.

Per esempio:

- ` ((Bob)|(Alice)) ` corrisponde sia a ` Bob ` sia a ` Alice `.
- ` (abc){3} ` corrisponde a ` abcabcabc `.

### Insiemi di caratteri

Per specificare un insieme di caratteri si usano le parentesi quadre ` [ ] `. Al loro interno puoi elencare i caratteri in questo modo:

- ` [а-яё] ` corrisponde a qualsiasi lettera dell’alfabeto russo.
- ` [абвгд] ` o ` [а-д] ` corrisponde a una delle lettere ` а `, ` б `, ` в `, ` г ` o ` д `.
- ` [a-z] ` corrisponde a una qualsiasi lettera latina da ` a ` a ` z `.
- ` [0-5] ` corrisponde a una cifra qualsiasi da 0 a 5.

Il simbolo ` ^ ` all’inizio dell’insieme indica una negazione logica:

- ` [^а-яё] ` corrisponde a qualsiasi carattere tranne le lettere dell’alfabeto russo.
- ` [^a-z] ` corrisponde a qualsiasi carattere tranne le lettere latine da ` a ` a ` z `.
- ` [^\s] ` corrisponde a qualsiasi carattere che non rientri in ` \s `.

In FLOWIN ` \w ` non comprende i caratteri cirillici. ` [а-яё] ` comprende l’alfabeto russo, inclusa la lettera ` ё `. L’intervallo ` [а-я] ` non include questa lettera.

### Caratteri di escape

Per cercare un carattere speciale come testo normale anziché usarlo come parte della sintassi, lo si fa precedere da una barra rovesciata ` \ `. Questa operazione si chiama escape.

Per esempio:

- ` :\) ` corrisponde a ` :) `. Qui la parentesi indica una normale parentesi, non un gruppo.
- ` chi\? ` corrisponde a ` chi? `. Qui il punto interrogativo non specifica il numero di ripetizioni.

## Impostazioni di ricerca in FLOWIN

I flag modificano le regole generali di ricerca, per esempio stabiliscono se distinguere tra maiuscole e minuscole. In FLOWIN alcune impostazioni sono già attive, quindi uno stesso schema può comportarsi diversamente rispetto a uno strumento di prova esterno con le impostazioni predefinite.

I flag sono già configurati

Nei filtri e nelle sostituzioni sono attivi ` IgnoreCase (i) `, ` Singleline (s) `, ` RE2 ` e ` Unicode `. Non devi aggiungerli manualmente a ogni schema. Ecco cosa comportano in pratica:

- ` i ` elimina la distinzione tra maiuscole e minuscole: ` gatto ` trova sia ` Gatto ` sia ` GATTO `.
- ` s ` permette al punto ` . ` di trovare anche un’interruzione di riga. Di conseguenza ` .* ` può comprendere più righe in una sola corrispondenza.
- La modalità multiriga ` Multiline (m) ` è disattivata per impostazione predefinita: ` ^ ` e ` $ ` si riferiscono all’inizio e alla fine dell’intero messaggio, non di ogni singola riga.
- ` RE2 ` determina alcune caratteristiche della sintassi: ` \d ` cerca le cifre da 0 a 9, mentre ` \w ` cerca solo lettere latine, cifre e trattini bassi. Il flag ` Unicode ` attivo non aggiunge il cirillico a ` \w `.

Per gli esempi che seguono non occorre cambiare impostazioni. Se li provi in un altro servizio, tieni conto di questi valori: il fatto che i flag abbiano lo stesso nome non garantisce che i diversi motori si comportino allo stesso modo.

## Schemi pronti all’uso

Scegli il compito e copia lo schema nel campo «Ricerca» in modalità «Regexp». Gli esempi mostrano esattamente il testo che viene trovato. Ciò che accadrà al messaggio dipende poi dal filtro o dalla sostituzione che hai configurato.

### Il numero di una richiesta che cambia ogni volta

Trovare una richiesta senza conoscerne in anticipo il numero.

Schema:  
` Richiesta #\d+ `

Testo: ` Richiesta #125 accettata. Richiesta #8072 in attesa di risposta. `

Trova: ` Richiesta #125 `, ` Richiesta #8072 `.

Il testo «Richiesta \#» è fisso e ` \d+ ` trova una o più cifre consecutive. Anche lo spazio prima di \# fa parte dello schema. «Richiesta \#ABC» non corrisponde.

### Messaggi composti solo da sei cifre

Selezionare i messaggi che contengono soltanto un codice di sei cifre.

Schema:  
` ^\d{6}$ `

Testo: ` 482901 `

Trova: ` 482901 `.

L’inizio e la fine delimitano l’intero messaggio e ` {6} ` richiede sei cifre. «Codice: 482901», «48290» e «482901 » con uno spazio finale non corrispondono.

### Una tra più varianti di testo

Trovare i messaggi che menzionano uno di due stati.

Schema:  
` fatto|annullato `

Testo: ` Fatto: file inviato. L’altro compito è stato annullato. `

Trova: ` Fatto `, ` annullato `.

La barra verticale significa «oppure». Non c’è distinzione tra maiuscole e minuscole. In assenza di confini di parola, lo schema troverà «fatto» anche in «manufatto».

### Una parola intera, escludendo le corrispondenze all’interno di altre parole

Trovare «gatto» escludendo «gattone» e «sgattolare».

Schema:  
` \bgatto\b `

Testo: ` Gatto, gattone e sgattolare. `

Trova: ` Gatto `.

` \b ` su entrambi i lati verifica i confini della parola. Gli spazi e i segni di punteggiatura possono separarla dal testo circostante, ma non vengono inclusi nella corrispondenza.

### Una data nel formato giorno.mese.anno

Trovare una data con due cifre per il giorno e il mese e quattro per l’anno.

Schema:  
` \d{2}\.\d{2}\.\d{4} `

Testo: ` Riunione il 16.10.2026 alle 12:00. `

Trova: ` 16.10.2026 `.

` \. ` indica un punto letterale, non un carattere qualsiasi. Lo schema verifica il formato, ma non il calendario: anche «99.99.2026» darà una corrispondenza.

### Hashtag in russo e in inglese

Trovare hashtag composti da lettere, cifre e trattini bassi.

Schema:  
` #[а-яёa-z0-9_]+ `

Testo: ` #Новости #release_2 #всё_готово `

Trova: ` #Новости `, ` #release_2 `, ` #всё_готово `.

Dopo \# compaiono uno o più caratteri dell’insieme. Uno spazio o un trattino interrompe la corrispondenza: in «\#piano-del-giorno» verrà trovato soltanto «\#piano».

### Menzioni nella forma @username

Trovare un testo che abbia la forma di una menzione di un utente o di un canale.

Schema:  
` @[a-z0-9_]{3,} `

Testo: ` Autore: @news_room. Un altro: @ab. `

Trova: ` @news_room `.

Dopo @ servono almeno tre caratteri tra lettere latine, cifre e trattini bassi. Lo schema cerca la forma della menzione senza verificare l’esistenza dell’utente. Può anche trovare una parte di un indirizzo email.

### Link con http:// o https://

Trovare un indirizzo web scritto per esteso con il protocollo.

Schema:  
` https?:\/\/[^\s]+ `

Testo: ` Apri https://example.org/page e http://example.org `

Trova: ` https://example.org/page `, ` http://example.org `.

La lettera s è facoltativa. Dopo // lo schema prende tutti i caratteri fino allo spazio successivo o a un altro separatore compreso in ` \s `. Gli indirizzi senza protocollo non corrispondono, mentre una virgola o un punto attaccati all’indirizzo potrebbero venire inclusi nella corrispondenza.

### Numero di telefono con +7 e dieci cifre

Trovare un numero scritto senza interruzioni, parentesi, spazi o trattini.

Schema:  
` \+7\d{10} `

Testo: ` Contatto: +79991234567 `

Trova: ` +79991234567 `.

` \+ ` cerca un normale segno più e ` \d{10} ` richiede esattamente dieci cifre dopo il 7. «+7 (999) 123-45-67» non corrisponderà. Viene cercato il formato del numero senza verificarne l’esistenza. È possibile trovare una corrispondenza anche all’interno di una sequenza di cifre più lunga.

### Messaggi che iniziano con una certa etichetta

Trovare l’etichetta «Importante:» solo all’inizio del messaggio.

Schema:  
` ^Importante: `

Testo: ` IMPORTANTE: la riunione è stata rinviata. `

Trova: ` IMPORTANTE: `.

^ verifica l’inizio dell’intero testo. In «Aggiornamento: Importante: la riunione è stata rinviata» non ci saranno corrispondenze. L’etichetta all’inizio della seconda riga non corrisponderà, perché la modalità multiriga è disattivata per impostazione predefinita.

### Spazi superflui tra le parole

Trovare due o più spazi normali consecutivi per sostituirli con uno solo.

Schema:  
` [ ]{2,} `

Nel testo ` Testo··con···spazi ` verranno trovati due gruppi, uno di due spazi e uno di tre. Il simbolo ` · ` qui rende visibile lo spazio normale e non va digitato.

Tra le parentesi quadre c’è uno spazio normale e ` {2,} ` ne richiede almeno due consecutivi. Per eliminare gli spazi superflui si sostituiscono le corrispondenze con un solo spazio. Lo schema non tocca le interruzioni di riga.

### Messaggi brevi fino a cento caratteri

Selezionare i messaggi non vuoti di lunghezza compresa tra 1 e 100 caratteri.

Schema:  
` ^.{1,100}$ `

Testo: ` Messaggio breve `

Trova: ` Messaggio breve `.

Il punto conta qualsiasi carattere, compresi gli spazi e le interruzioni di riga. Le parentesi graffe fissano i limiti, mentre ^ e $ impongono la verifica dell’intero messaggio. Un messaggio vuoto o un testo di oltre 100 caratteri non corrisponderanno. Un’emoji composta può contare come più caratteri.

L’elenco si amplierà. Puoi proporre nuovi schemi all’assistenza contattando [@value\_maker](<https://t.me/value_maker>).

Verificare uno schema personalizzato

Su [regex101.com](<https://regex101.com/>) puoi provare le tue espressioni regolari. Le impostazioni di ricerca potrebbero differire da quelle di FLOWIN. Prima di usare uno schema in un inoltro di lavoro, provalo con messaggi di test, sia con sia senza una corrispondenza prevista.

## Domande frequenti

 

**Quando bastano «Testo» o «Lista» e quando serve «Regexp»?**

La modalità «Testo» è adatta a una frase nota, mentre con «Lista» puoi elencare più alternative. «Regexp» serve quando il testo cambia secondo una regola, per esempio se la parola «Richiesta» è seguita ogni volta da un numero diverso. Permette anche di definire i confini di una parola o il numero di caratteri. Per stabilire l’azione da applicare al messaggio trovato, configura separatamente il [filtro](<https://flowin.click/it/articles/filtrare-i-messaggi-inoltrati>) o la [sostituzione](<https://flowin.click/it/articles/sostituzioni-nei-messaggi-inoltrati>).

 

**Perché un’espressione provata online si comporta diversamente in FLOWIN?**

Il risultato dipende dal motore e dalle impostazioni di ricerca. Nei filtri e nelle sostituzioni di FLOWIN sono già attivi IgnoreCase, Singleline, RE2 e Unicode, mentre Multiline è disattivato per impostazione predefinita. La ricerca quindi non distingue tra maiuscole e minuscole, il punto può corrispondere a un’interruzione di riga e ` ^ ` e ` $ ` si riferiscono all’intero messaggio. Controlla le [impostazioni di ricerca](<https://flowin.click/it/articles/espressioni-regolari-nei-filtri-e-nelle-sostituzioni#flowin-flags>) e prova l’espressione in FLOWIN sia su messaggi per cui prevedi una corrispondenza, sia su messaggi che non dovrebbero corrispondere.

 

**Perché .\* comprende più righe?**

In FLOWIN è attivo Singleline, quindi il punto corrisponde anche a un’interruzione di riga. Per questo ` .* ` non deve necessariamente fermarsi alla fine della prima riga. Se cerchi il testo fino all’interruzione di riga successiva, puoi usare ` [^\r\n]+ `: questo schema cerca uno o più caratteri diversi dal ritorno a capo e dall’interruzione di riga.

 

**Perché \\w non trova le lettere russe?**

Nelle impostazioni di ricerca di FLOWIN ` \w ` comprende lettere latine, cifre e trattini bassi. Per le lettere russe usa ` [а-яё] ` e per una sequenza di queste lettere usa ` [а-яё]+ `. La lettera ` ё ` va indicata a parte perché l’intervallo ` а-я ` non la include. Non occorre distinguere le maiuscole dalle minuscole, perché la ricerca ignora già questa differenza.

 

**Come trovo una parola intera escludendo le corrispondenze all’interno di altre parole?**

Aggiungi ` \b ` a entrambi i lati della parola. Per esempio, ` \bgatto\b ` troverà «Gatto» nel testo «Gatto, gattone e sgattolare», ma ignorerà le altre due parole. I confini verificano la posizione della parola, mentre gli spazi e i segni di punteggiatura non fanno parte della corrispondenza.

 

**Lo schema dell’esempio verifica che la data esista davvero?**

No. L’espressione ` \d{2}\.\d{2}\.\d{4} ` verifica solo il formato: due cifre, un punto, due cifre, un punto e quattro cifre. Troverà quindi sia ` 16.10.2026 ` sia ` 99.99.2026 `. L’esempio serve a individuare parti di testo che somigliano a date, ma non conferma la validità del giorno o del mese.

 

**Cosa controllo se l’espressione regolare non trova nulla?**

Per prima cosa assicurati che accanto al campo «Ricerca» sia selezionato «Regexp». Confronta quindi lo schema con il testo originale: anche gli spazi, le interruzioni di riga e i simboli letterali incidono sulla corrispondenza. Per esempio, ` Richiesta #\d+ ` richiede uno spazio prima di \# e delle cifre dopo, quindi non troverà ` Richiesta#125 ` o ` Richiesta #ABC `. Verifica anche i delimitatori ` ^ ` e ` $ `: per impostazione predefinita si riferiscono all’intero messaggio. Inizia da un semplice estratto e aggiungi le condizioni una alla volta verificando il risultato a ogni passaggio.
