Costruisci espressioni regolari selezionando blocchi visualmente. Ogni componente viene spiegato in italiano. Testa in tempo reale.
Inserisci l'espressione regolare nel campo in alto (senza slash iniziale e finale), attiva i flag desiderati, poi digita o incolla il testo di test nell'area sottostante. I match vengono evidenziati in tempo reale. Se la regex ha gruppi di cattura, vengono mostrati separatamente per ogni match. Usa il pulsante "Esplica" per una descrizione leggibile della regex in italiano.
g (global): trova tutti i match nel testo, non solo il primo — necessario per String.matchAll() e replace globale. i (case insensitive): ignora la differenza tra maiuscole e minuscole. m (multiline): ^ e $ corrispondono all'inizio e alla fine di ogni riga, non solo dell'intera stringa. s (dotAll): il punto . corrisponde anche al newline \n — per default lo esclude. u (unicode): abilita il supporto Unicode completo per caratteri fuori dal BMP (emoji, simboli rari).
Alcune regex comuni da avere a portata di mano: Email: [a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}. URL: https?:\/\/[\w\-]+(\.[\w\-]+)+([\w.,@?^=%&:/~+#\-]*). IP v4: (\d{1,3}\.){3}\d{1,3}. Data ISO: \d{4}-\d{2}-\d{2}. CAP italiano: [0-9]{5}. Partita IVA: [0-9]{11}. Telefono italiano: (\+39)?[\s\-]?3\d{2}[\s\-]?\d{6,7}.
Le parentesi tonde (...) creano un gruppo di cattura che estrae parti specifiche del match. Esempio: (\d{4})-(\d{2})-(\d{2}) su 2024-03-15 cattura tre gruppi: anno, mese, giorno. In JavaScript: match[1], match[2], match[3]. I gruppi con nome (?<anno>\d{4}) rendono il codice più leggibile: match.groups.anno. I gruppi non catturanti (?:...) raggruppano senza estrarre — utili per applicare quantificatori a una sequenza.
Sì. Il tool usa il motore RegExp nativo del browser (V8/SpiderMonkey). Il comportamento è identico a quello di Node.js e del browser — puoi copiare la regex direttamente nel tuo codice JavaScript o TypeScript.
Sono asserzioni di posizione che non consumano caratteri. Lookahead positivo (?=...): corrisponde se è seguito da. Lookahead negativo (?!...): corrisponde se NON è seguito da. Lookbehind positivo (?<=...): corrisponde se è preceduto da. Esempio: \d+(?=€) trova numeri seguiti da € senza includerlo nel match.
I caratteri con significato speciale in regex (. * + ? ^ $ { } [ ] | ( ) \) vanno preceduti da backslash. Es: per cercare un punto usa \., per una parentesi \(. Per cercare un backslash letterale usa \\.
Probabile doppio-escape mancante. In una stringa JavaScript "\d" il backslash viene interpretato come escape della stringa — devi scrivere "\\d" oppure usare il literal regex /\d/. In Python usa sempre il raw string r'\d' per evitare il problema.