raatools/

Tester Regex

Testa pattern regex con matching live, flag e dettagli.

Cosa sono le espressioni regolari?

Le espressioni regolari (regex o regexp) sono pattern usati per trovare combinazioni di caratteri nel testo. Sono uno degli strumenti più potenti nella programmazione per la ricerca, la validazione, l'estrazione e la trasformazione del testo. Ogni linguaggio di programmazione principale supporta le espressioni regolari, e sono essenziali per attività come la validazione dei form, l'analisi dei log e la pulizia dei dati.

Un pattern regex descrive un insieme di stringhe usando una sintassi speciale. I pattern semplici corrispondono a testo letterale, mentre i metacaratteri come . (qualsiasi carattere), * (zero o più) e + (uno o più) aggiungono flessibilità. Il raggruppamento con le parentesi, l'alternanza con | e le classi di caratteri con [] permettono di costruire regole di corrispondenza precise per praticamente qualsiasi pattern di testo.

Come usare il tester regex

Inserire un pattern di espressione regolare nel campo pattern, selezionare i flag desiderati (g, i, m, s) e incollare il testo da testare. Lo strumento evidenzia tutte le corrispondenze in tempo reale e visualizza i gruppi di cattura per ogni corrispondenza. Usare questo per sviluppare e fare il debug dei pattern regex prima di incorporarli nel codice.

Pattern regex comuni

  • Indirizzi email: ^[^\s@]+@[^\s@]+\.[^\s@]+$ — corrisponde ai formati email standard.
  • URL: https?://\S+ — corrisponde agli URL che iniziano con http o https.
  • Indirizzi IPv4: corrisponde al formato decimale puntato standard come 192.168.1.1 usando quantificatori di cifre.
  • Date: corrisponde alle date nel formato YYYY-MM-DD usando pattern per anno a quattro cifre e mese e giorno a due cifre.
  • Parole con maiuscola: [A-Z][a-z]+ — corrisponde alle parole che iniziano con una lettera maiuscola.

Flag regex spiegati

  • g: g (Globale): Trova tutte le corrispondenze nel testo, non solo la prima.
  • i: i (Senza distinzione maiuscole/minuscole): Fa sì che il pattern corrisponda indipendentemente dalle lettere maiuscole o minuscole.
  • m: m (Multiriga): Fa sì che ^ e $ corrispondano all'inizio e alla fine di ogni riga, non solo dell'intera stringa.
  • s: s (Dotall): Fa sì che il metacarattere . corrisponda anche ai caratteri di nuova riga.

Gruppi di cattura

Le parentesi () creano gruppi di cattura che estraggono parti specifiche di una corrispondenza. Ogni gruppo è numerato a partire da 1. Ad esempio, il pattern (\w+)@(\w+\.\w+) applicato a "user@example.com" cattura "user" nel gruppo 1 e "example.com" nel gruppo 2. I gruppi denominati usando (?<nome>...) rendono i pattern complessi più leggibili.

Errori regex comuni

Dimenticare di escludere i caratteri speciali è l'errore più comune. I caratteri come . + * ? ( ) [ ] ^ $ | e le parentesi graffe hanno un significato speciale nel regex e devono essere preceduti da una barra rovesciata quando si vogliono abbinare letteralmente. Ad esempio, abbinare un punto richiede barra rovesciata-punto invece di solo un punto.

Scrivere pattern troppo greedy è un altro problema frequente. Il quantificatore .* corrisponde al maggior numero di testo possibile, il che può catturare molto più di quanto previsto. Usare il quantificatore lazy .*? per corrispondere il meno possibile, o usare pattern più specifici come [^>]* invece di .* quando si analizza testo strutturato.

Domande frequenti

I pattern regex sono gli stessi in tutti i linguaggi?

La sintassi di base è simile, ma ci sono differenze. JavaScript, Python, Java e .NET hanno ciascuno caratteristiche e sintassi leggermente diverse per costrutti avanzati come le asserzioni lookbehind, i gruppi denominati e il supporto Unicode. Questo strumento usa il regex di JavaScript, che è lo standard per lo sviluppo web.

Come posso imparare le espressioni regolari?

Iniziare con pattern semplici e aggiungere gradualmente complessità. Imparare prima i metacaratteri di base (. * + ? ^ $), le classi di caratteri ([a-z], \d, \w) e i quantificatori. Poi passare al raggruppamento, all'alternanza e ai lookahead. Esercitarsi con attività del mondo reale come la validazione delle email, l'analisi dei file di log o l'estrazione di dati dall'HTML.