Tester Regex
Testa regex in tempo reale con evidenziazione delle corrispondenze e gruppi di cattura. Debugger regex online gratuito, funziona nel browser.
Quick regex reference
| Pattern | Description |
|---|---|
. | Any character (except newline) |
^ | Start of string / line |
$ | End of string / line |
* | 0 or more repetitions |
+ | 1 or more repetitions |
? | 0 or 1 (optional) |
{n} | Exactly n repetitions |
{n,m} | Between n and m repetitions |
\d | Digit [0-9] |
\D | Non-digit |
\w | Word character [a-zA-Z0-9_] |
\W | Non-word character |
\s | Whitespace |
\S | Non-whitespace |
\b | Word boundary |
[abc] | Class: a, b, or c |
[^abc] | Negation: not a, b, or c |
(abc) | Capturing group |
(?:abc) | Non-capturing group |
(?<n>abc) | Named group "n" |
a|b | Alternative: a or b |
Riferimento
Cos'è un'espressione regolare?
Un'espressione regolare (regex) è una sequenza di caratteri che definisce un pattern di ricerca. Le regex sono usate praticamente in ogni linguaggio di programmazione e strumento — dalla validazione dei form in JavaScript al parsing dei log in Python fino al cerca-e-sostituisci negli editor di testo. Un pattern combina caratteri letterali, metacaratteri (. ^ $ * + ? { } [ ] | ( )) e classi di caratteri (\d cifra, \w carattere di parola, \s spazio). Questo strumento utilizza il motore regex ECMAScript (lo stesso usato in JavaScript, TypeScript e Node.js).
Flag regex spiegate
g — globale: trova tutte le corrispondenze, non solo la prima. Essenziale per contare le occorrenze o sostituire ogni istanza.
i — ignora maiuscole: abbina lettere maiuscole e minuscole indistintamente. /hello/i corrisponde a "Hello", "HELLO" e "hello".
m — multiriga: ^ e $ corrispondono all'inizio e alla fine di ogni riga, non solo dell'intera stringa. Fondamentale per il parsing dei log riga per riga.
s — dotAll: il metacarattere . corrisponde anche ai caratteri di nuova riga. Senza questo flag, . si ferma agli a capo.
Gruppi di cattura
I gruppi di cattura (pattern) catturano la sottostringa corrispondente per estrazione o riferimento. I gruppi con nome (?<nome>pattern) assegnano un nome leggibile alla cattura, accessibile tramite match.groups.nome — molto più chiaro dei gruppi numerati nei pattern complessi. I gruppi non catturanti (?:pattern) raggruppano senza catturare — utili per applicare quantificatori a una sequenza senza creare una cattura non necessaria. I riferimenti come $1, $2 nelle stringhe di sostituzione si riferiscono al testo catturato per numero di gruppo.
Privacy
Tutta l'elaborazione avviene 100% nel tuo browser. Nessun dato viene inviato a un server.