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
- Descrivi a parole cosa vuoi trovare o validare.
- Fornisci diversi esempi reali che devono corrispondere e altri che non devono.
- 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
| Frammento | Significato |
|---|---|
[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.