Tester Regex

Verifichi le espressioni regolari JavaScript su testi di esempio, direttamente nel Suo browser.

Pattern
Flag
Stringa di test
Corrispondenze evidenziate
Inserisca un pattern per testarlo.

Il Suo pattern e il Suo testo vengono testati direttamente nel browser. Nulla viene caricato su BroBroGo.

FAQ

È sicuro incollare il mio testo qui?

Sì. La verifica delle corrispondenze avviene interamente nel Suo browser: nessun dato viene inviato a BroBroGo.

Cosa significano le flag g/i/m/s?

La flag g (global) individua tutte le corrispondenze anziché limitarsi alla prima. La flag i (ignore case) ignora la differenza tra maiuscole e minuscole. La flag m (multiline) fa sì che i caratteri ^ e $ corrispondano all'inizio e alla fine di ogni singola riga anziché dell'intera stringa. La flag s (dotAll) consente al carattere punto (.) di includere anche le interruzioni di riga.

Perché lo strumento indica che l'elaborazione del mio pattern richiede troppo tempo?

Alcuni pattern possono causare un fenomeno noto come backtracking catastrofico, in cui il motore di elaborazione tenta un numero esponenziale di combinazioni prima di arrendersi, rischiando di bloccare la scheda del browser. Questo strumento interrompe l'elaborazione dopo 2 secondi qualora si verifichi tale situazione, preservando la reattività della pagina. Provi a semplificare le ripetizioni nidificate come (a+)+.

Verifica delle espressioni regolari JavaScript nel browser

Questo strumento consente di testare le espressioni regolari JavaScript direttamente all'interno del browser web. L'applicazione analizza il testo di esempio inserito ed evidenzia istantaneamente ogni corrispondenza e gruppo di cattura individuato, mostrando in tempo reale il comportamento del pattern configurato.

L'esecuzione dei test avviene localmente: il pattern e il testo inseriti vengono elaborati esclusivamente all'interno del browser dell'utente e nessun dato viene caricato sui server di BroBroGo. Questo approccio garantisce che le informazioni inserite rimangano confinate all'interno della sessione di navigazione locale.


Configurazione dei parametri di input

Per eseguire una verifica, lo strumento richiede la definizione di tre elementi principali:

  • Pattern: L'espressione regolare da testare. Un esempio di valore iniziale utilizzabile come segnaposto è \d+.
  • Flag: Opzioni che modificano il comportamento del motore di ricerca JavaScript. È possibile attivare o disattivare quattro flag specifiche:
    • g (Globale): Consente di individuare tutte le corrispondenze presenti nel testo anziché fermarsi alla prima.
    • i (Ignora maiuscole/minuscole): Rende la ricerca insensibile alla differenza tra caratteri maiuscoli e minuscoli.
    • m (Multilinea): Modifica il comportamento dei metacaratteri ^ e $, facendoli corrispondere rispettivamente all'inizio e alla fine di ogni singola riga anziché dell'intera stringa di testo.
    • s (Il punto corrisponde anche a nuova riga): Consente al carattere punto (.) di includere e corrispondere anche ai caratteri di interruzione di riga.
  • Stringa di test: Il testo di esempio su cui applicare il pattern per verificare la correttezza delle corrispondenze.

Interpretazione dei risultati e output

Una volta inseriti i dati, lo strumento restituisce un riscontro visivo e testuale strutturato:

  • Corrispondenze evidenziate: Il testo di test viene mostrato con un'evidenziazione grafica in corrispondenza di ogni porzione di stringa che soddisfa il pattern.
  • Corrispondenze: Un elenco dettagliato di tutti i risultati individuati. Se il pattern include delle parentesi tonde di cattura, per ogni corrispondenza viene mostrato il relativo elemento identificato come Gruppo {n} (dove {n} rappresenta il numero progressivo del gruppo di cattura).
  • Corrispondenze: {count}: Un indicatore numerico che riporta il totale complessivo delle corrispondenze individuate nel testo.
  • Caratteri: Mostra la lunghezza complessiva, espressa in numero di caratteri, del testo sottoposto a verifica.

Regole di funzionamento e limiti di visualizzazione

Il motore di valutazione applica regole precise per gestire i diversi scenari di ricerca e prevenire il blocco del browser in caso di pattern errati o inefficienti:

  • Assenza di risultati: Se il pattern non trova alcuna corrispondenza all'interno del testo di test, l'interfaccia mostra il messaggio "Nessuna corrispondenza.".
  • Errori di sintassi: Nel caso in cui l'espressione regolare inserita non rispetti le regole sintattiche di JavaScript, viene visualizzato l'errore "Espressione regolare non valida.".
  • Gestione del timeout: Se l'elaborazione di un pattern richiede più di 2 secondi, il processo di matching viene interrotto per evitare il blocco della pagina. In questo caso viene mostrato l'avviso: "L'elaborazione di questo pattern richiede troppo tempo: potrebbe essere soggetto a rallentamenti estremi. Provi a semplificarlo.".
  • Comportamento senza flag globale: Se la flag g non è selezionata, l'analisi si interrompe dopo aver individuato la prima occorrenza, restituendo un unico risultato.
  • Limiti quantitativi: Quando la flag g è attiva, lo strumento individua un massimo di 1.000 corrispondenze complessive. Per garantire la fluidità dell'interfaccia, il numero massimo di schede di corrispondenza visualizzate è limitato a 100. Se questi limiti vengono superati, compare la nota informativa "Visualizzazione dei primi {max} risultati.".
  • Ripristino: Facendo clic sul pulsante "Cancella", tutti i campi vengono svuotati e viene mostrato il messaggio di stato "Cancellato.".

Ottimizzazione delle prestazioni e backtracking catastrofico

La scrittura di espressioni regolari richiede attenzione alla struttura dei quantificatori. Quando si utilizzano ripetizioni nidificate o sovrapposte (come ad esempio il pattern (a+)+), il motore di ricerca delle espressioni regolari di JavaScript può entrare in uno stato di backtracking catastrofico.

In questa situazione, di fronte a una stringa che non corrisponde quasi interamente al pattern, il motore tenta di calcolare ogni possibile combinazione di raggruppamento prima di dichiarare il fallimento. Questo processo richiede un numero di passaggi che cresce in modo esponenziale rispetto alla lunghezza del testo, esaurendo le risorse di calcolo del browser. Lo strumento previene questo problema interrompendo forzatamente l'esecuzione dopo 2 secondi, consentendo all'utente di correggere e semplificare la struttura del pattern prima di riavviare il test.


Domande frequenti

È sicuro incollare il mio testo qui?
Sì. La verifica delle corrispondenze avviene interamente nel Suo browser: nessun dato viene inviato a BroBroGo.

Cosa significano le flag g/i/m/s?
La flag g (global) individua tutte le corrispondenze anziché limitarsi alla prima. La flag i (ignore case) ignora la differenza tra maiuscole e minuscole. La flag m (multiline) fa sì che i caratteri ^ e $ corrispondano all'inizio e alla fine di ogni singola riga anziché dell'intera stringa. La flag s (dotAll) consente al carattere punto (.) di includere anche le interruzioni di riga.

Perché lo strumento indica che l'elaborazione del mio pattern richiede troppo tempo?
Alcuni pattern possono causare un fenomeno noto come backtracking catastrofico, in cui il motore di elaborazione tenta un numero esponenziale di combinazioni prima di arrendersi, rischiando di bloccare la scheda del browser. Questo strumento interrompe l'elaborazione dopo 2 secondi qualora si verifichi tale situazione, preservando la reattività della pagina. Provi a semplificare le ripetizioni nidificate come (a+)+.