TextFile

Le espressioni regolari sono uno strumento estremamente potente che ogni programmatore dovrebbe conoscere. Sebbene all'inizio possano sembrare complicate, con un po' di pratica diventano indispensabili per la gestione dei testi, la validazione dei dati e l'automazione di numerose operazioni.

home page
 

Le espressioni regolari

Pubblicato il: 24-6-2026

Ultima Modifica: 24-6-2026

Ecco l'articolo pronto per la pubblicazione sul tuo sito.

Le espressioni regolari (Regex): una guida pratica con esempi

Introduzione

Le espressioni regolari, spesso chiamate semplicemente Regex (Regular Expressions), rappresentano uno strumento potentissimo per cercare, verificare e manipolare testi.

Grazie alle Regex è possibile:

✅ verificare indirizzi email

✅ controllare numeri di telefono

✅ cercare parole specifiche

✅ sostituire parti di testo

✅ validare dati inseriti dall'utente

Oggi praticamente tutti i linguaggi di programmazione supportano le espressioni regolari.

🔍 Schema generale

Testo
  │
  ▼
Regex
  │
  ▼
Risultato

Cos'è una Regex?

Una Regex è una sequenza di caratteri speciali che definisce un modello di ricerca.

Ad esempio:

abc

cerca semplicemente la sequenza di caratteri:

abc

all'interno di un testo.

Esempio:

Il linguaggio abc è interessante.

La ricerca avrà esito positivo.


💡 Suggerimento

+----------------------------------------+
| SUGGERIMENTO                           |
+----------------------------------------+
| Inizia con espressioni semplici e      |
| aggiungi gradualmente i caratteri      |
| speciali. Le Regex complesse possono   |
| diventare difficili da leggere.        |
+----------------------------------------+

Il carattere punto (.)

Uno dei caratteri speciali più utilizzati è il punto.

.

Significa:

Qualsiasi carattere singolo.

Esempio:

c.t

corrisponde a:

cat
cot
cut
c8t

ma non a:

ct
cart

🔎 Visualizzazione

c . t
│ │ │
│ │ └─ t finale
│ └── qualsiasi carattere
└──── c iniziale

Le parentesi quadre

Permettono di indicare un insieme di caratteri validi.

Regex:

[abc]

Significa:

a oppure b oppure c

Esempi validi:

a
b
c

Intervalli di caratteri

È possibile specificare intervalli.

Regex:

[a-z]

corrisponde a tutte le lettere minuscole.

Regex:

[A-Z]

corrisponde a tutte le lettere maiuscole.

Regex:

[0-9]

corrisponde a qualsiasi cifra.

📌 Alcuni esempi:

[0-9][0-9]

ricerca numeri composti da due cifre:

12
45
99

🔍 Lo sapevi che?

+----------------------------------------+
| LO SAPEVI CHE?                         |
+----------------------------------------+
| Le Regex sono nate negli anni '50      |
| nell'ambito degli studi matematici     |
| sugli automi e sui linguaggi formali.  |
+----------------------------------------+

Il simbolo *

L'asterisco indica:

Zero o più occorrenze.

Regex:

ab*

corrisponde a:

a
ab
abb
abbb
abbbb

Il simbolo +

Il simbolo più indica:

Una o più occorrenze.

Regex:

ab+

corrisponde a:

ab
abb
abbb

ma NON a:

a

Il simbolo ?

Il punto interrogativo indica:

Zero oppure una occorrenza.

Regex:

colou?r

corrisponde sia a:

color

sia a:

colour

Inizio e fine stringa

Per verificare l'intero contenuto di una stringa si utilizzano:

^

inizio stringa

e

$

fine stringa

Esempio:

^ciao$

accetta soltanto:

ciao

e non:

ciao mondo

oppure

mondo ciao

Verificare un numero di telefono

Regex:

^[0-9]{10}$

Significa:

^        inizio stringa
[0-9]    cifra
{10}     esattamente 10 volte
$        fine stringa

Esempio valido:

3331234567

Verificare un CAP italiano

Regex:

^[0-9]{5}$

Esempi validi:

40100
00100
20100

⚠️ Attenzione

+----------------------------------------+
| ATTENZIONE                             |
+----------------------------------------+
| Una Regex può verificare la forma      |
| di un dato ma non la sua validità      |
| reale.                                 |
|                                        |
| Ad esempio 99999 è formalmente un CAP  |
| corretto ma potrebbe non esistere.     |
+----------------------------------------+

Verificare un indirizzo email

Una Regex semplice può essere:

^[A-Za-z0-9._%+-]+@
[A-Za-z0-9.-]+\.
[A-Za-z]{2,}$

Esempi validi:

mario@email.it
info@sito.com
utente123@gmail.com

📧 Schema

nomeutente@dominio.estensione

Utilizzare le Regex in Pascal

In Lazarus e Free Pascal è possibile utilizzare la classe TRegExpr.

Esempio:

uses
  RegExpr;

var
  Regex: TRegExpr;

begin

  Regex := TRegExpr.Create;

  { Imposta il modello di ricerca }
  Regex.Expression := '^[0-9]+$';

  { Verifica se il testo contiene
    soltanto numeri }
  if Regex.Exec('12345') then
    WriteLn('Numero valido')
  else
    WriteLn('Numero non valido');

  Regex.Free;

end.

Output:

Numero valido

Cercare una parola in un testo

Esempio:

uses
  RegExpr;

var
  Regex: TRegExpr;

begin

  Regex := TRegExpr.Create;

  { Cerca la parola Pascal }
  Regex.Expression := 'Pascal';

  if Regex.Exec(
     'Sto studiando Pascal') then
    WriteLn('Trovata');

  Regex.Free;

end.

Output:

Trovata

💡 Suggerimento

+----------------------------------------+
| SUGGERIMENTO                           |
+----------------------------------------+
| Quando sviluppi applicazioni con       |
| Lazarus, le Regex sono molto utili     |
| per controllare i dati inseriti dagli  |
| utenti prima di salvarli nel database. |
+----------------------------------------+

Sostituire testo con le Regex

Le Regex possono essere utilizzate anche per sostituire parti di testo.

Esempio:

Testo originale:
Mario Rossi

Regex:

Rossi

Sostituzione:

Bianchi

Risultato:

Mario Bianchi

🔄 Schema

Testo
  │
  ▼
Regex
  │
  ▼
Sostituzione
  │
  ▼
Nuovo testo

Vantaggi delle Regex

Le espressioni regolari permettono di:

✔ effettuare ricerche avanzate

✔ validare dati

✔ sostituire testo automaticamente

✔ ridurre il codice necessario

✔ migliorare la qualità delle applicazioni


🔍 Lo sapevi che?

+----------------------------------------+
| LO SAPEVI CHE?                         |
+----------------------------------------+
| Gli editor moderni come VS Code,       |
| Notepad++ e molti IDE consentono       |
| di effettuare ricerche e sostituzioni  |
| utilizzando le Regex.                  |
+----------------------------------------+

Conclusione

Le espressioni regolari sono uno strumento estremamente potente che ogni programmatore dovrebbe conoscere. Sebbene all'inizio possano sembrare complicate, con un po' di pratica diventano indispensabili per la gestione dei testi, la validazione dei dati e l'automazione di numerose operazioni.

Se utilizzi Pascal e Lazarus, imparare a usare le Regex ti consentirà di realizzare applicazioni più robuste, professionali e affidabili, riducendo notevolmente la quantità di codice necessaria per controllare e manipolare le informazioni.

Questo articolo è particolarmente interessante perché le Regex sono un argomento molto ricercato e non spesso trattato nei siti dedicati a Pascal e Lazarus.