Creare un’espressione regolare spiegata passo per passo e con test

Ottieni una regex per il tuo linguaggio con la spiegazione di ogni parte, una tabella di casi che devono e non devono corrispondere, codice pronto e un avviso sui rischi di backtracking. Pensato per ChatGPT, Claude, Gemini e Microsoft Copilot. Include 5 variabili personalizzabili e puoi copiarlo gratuitamente con un clic.

Principiante · Codice · In attesa di revisione editoriale

Prompt

Agisci come sviluppatore esperto di espressioni regolari che le spiega con chiarezza a chi sta imparando.

Mi serve un’espressione regolare per: {{obiettivo}}
- Linguaggio o motore: {{linguaggio}}
- Utilizzo: {{utilizzo}}
- Esempi che DEVONO corrispondere: {{validi}}
- Esempi che NON devono corrispondere: {{non_validi}}

Consegna:
1. L’espressione regolare finale, compatibile con il motore indicato, con i flag necessari.
2. Una spiegazione pezzo per pezzo in tabella: frammento, significato e perché c’è. Includi ancore, gruppi (con nome se il motore li supporta), quantificatori e classi di caratteri.
3. Una versione leggibile e commentata (modalità estesa o `x` se il motore la consente, altrimenti costruita per parti).
4. Una tabella di test con tutti i miei esempi e almeno cinque casi limite aggiunti da te (stringa vuota, spazi, maiuscole, caratteri accentati, lunghezza estrema), con il risultato atteso.
5. Codice nel mio linguaggio che usi la regex per l’utilizzo indicato (validare, cercare, estrarre o sostituire) ed esegua la tabella di test.
6. Rischi: probabili falsi positivi e negativi, problemi con Unicode e rischio di backtracking catastrofico (ReDoS) se la regex elabora testo inserito dagli utenti.
7. Quando una regex non è lo strumento giusto per questo caso e cosa usare al suo posto (per esempio un parser o una libreria di validazione).

Vincoli:
- Se i miei esempi sono contraddittori o insufficienti, dimmelo e chiedimi chiarimenti prima della versione finale.
- Preferisci una regex chiara e corretta a una cortissima e difficile da mantenere.
- Non affermare che la regex valida qualcosa al 100% (per esempio un indirizzo email) se lo standard è più complesso.

Come usarlo

  1. Descrivi a parole cosa vuoi trovare o validare.
  2. Fornisci diversi esempi reali che devono corrispondere e altri che non devono.
  3. Esegui il codice di test ricevuto e aggiungi i casi che falliscono nell’uso reale.

Esempio d'uso

Obiettivo: codice fiscale italiano di persona fisica · Linguaggio: Python · Utilizzo: validare un campo completo · Validi: RSSMRA85T10A562S · Non validi: RSSMRA85T10A562.

Esempio di risultato

1. Espressione finale

[A-Z]{6}[0-9]{2}[ABCDEHLMPRST][0-9]{2}[A-Z][0-9]{3}[A-Z] con re.fullmatch.

2. Spiegazione

FrammentoSignificato
[A-Z]{6}Tre lettere del cognome e tre del nome
[0-9]{2}Anno di nascita
[ABCDEHLMPRST]Mese (A = gennaio … T = dicembre)
[0-9]{2}Giorno (01–31, +40 per le donne)
[A-Z][0-9]{3}Codice catastale del comune o Z per l’estero
[A-Z]Carattere di controllo

5. Codice e test

import re

CODICE_FISCALE = re.compile(r"[A-Z]{6}[0-9]{2}[ABCDEHLMPRST][0-9]{2}[A-Z][0-9]{3}[A-Z]")

CASI = {
    "RSSMRA85T10A562S": True, "VRDLGU70A01F205X": True,
    "RSSMRA85T10A562": False,    # 15 caratteri
    "rssmra85t10a562s": False,   # minuscole
    "RSSMRA85T10A56-S": False,   # trattino
    "": False, "RSSMRA85Z10A562S": False, " RSSMRA85T10A562S": False,
}

for valore, atteso in CASI.items():
    assert (CODICE_FISCALE.fullmatch(valore) is not None) == atteso, valore

Limiti: non gestisce l’omocodia (cifre sostituite da lettere LMNPQRSTUV), non controlla che il giorno sia valido né calcola il carattere di controllo. Per una validazione completa serve una funzione dedicata o una libreria…

Dati chiave

Categoria
Programmazione e sviluppo · Automazioni
Tipo di output
Codice
Livello
Principiante
Pensato per
ChatGPT, Claude, Gemini e Microsoft Copilot
Verificato in
In attesa di verifica editoriale
Variabili
Cosa trovare o validare, Linguaggio o motore, Utilizzo, Esempi validi e Esempi non validi
Lingua
Italiano
Prezzo
Gratuito, senza registrazione
Aggiornato
07/11/2026

Domande frequenti

Che cos’è il backtracking catastrofico?

Succede quando una regex con quantificatori annidati prova un numero enorme di combinazioni su certi testi e si blocca. Se elabora dati degli utenti, può essere sfruttata per mandare in crash un server (ReDoS).

La stessa regex funziona in tutti i linguaggi?

Non sempre. I motori differiscono su gruppi con nome, lookbehind, classi Unicode e flag. Per questo il prompt chiede il linguaggio e adatta la sintassi.

A cosa serve questo prompt?

Ottieni una regex per il tuo linguaggio con la spiegazione di ogni parte, una tabella di casi che devono e non devono corrispondere, codice pronto e un avviso sui rischi di backtracking.

Con quali strumenti di IA funziona?

È pensato per ChatGPT, Claude, Gemini e Microsoft Copilot. Non lo abbiamo ancora verificato in questi strumenti, quindi i risultati possono variare da uno all'altro.

Come personalizzo il prompt?

Clicca su «Personalizza» e compila le variabili (Cosa trovare o validare, Linguaggio o motore, Utilizzo, Esempi validi e Esempi non validi). Il testo si aggiorna all'istante e poi puoi copiarlo con un clic. I valori vengono salvati solo nel tuo browser.

Serve esperienza per usarlo?

No. È un prompt di livello principiante: basta compilare i dettagli e incollarlo nel tuo strumento di IA.

Questo prompt è gratuito?

Sì. Tutti i prompt di HomeCasa Prompts sono gratuiti, senza registrazione né abbonamento. Puoi usarli anche in progetti professionali.

Posso fidarmi dell'output dell'IA?

Consideralo una bozza di alta qualità: verifica sempre dati, cifre e affermazioni importanti prima di pubblicare o prendere decisioni.

Prompt correlati