Tester Regex

Inserisci un’espressione regolare e una stringa di test qui sotto. Le corrispondenze vengono evidenziate in tempo reale. Supporta i flag regex JavaScript. Tutta l’elaborazione avviene localmente nel tuo browser.

/ / g
Copiato!
#ACorrispondenzaGruppi

Flag delle espressioni regolari

FlagDescrizione
gGlobale - trova tutte le corrispondenze, non solo la prima
iCorrispondenza senza distinzione maiuscole/minuscole
mMultilinea - ^ e $ corrispondono ai confini di riga
sDotall - . corrisponde anche ai caratteri di nuova riga
uUnicode - abilita la corrispondenza Unicode completa
yCorrisponde solo dove è finita la precedente

Le corrispondenze sono elencate con la posizione da cui partono e tutti i gruppi catturati, compresi quelli con nome, che di solito è proprio la cosa che stai verificando. La modalità sostituzione fa passare lo stesso pattern nella sintassi di sostituzione standard, quindi $1 e $ si comportano esattamente come nel tuo codice. Il numero di corrispondenze è limitato, perché un pattern che corrisponde in ogni posizione costruirebbe altrimenti una tabella con più righe di quante la pagina possa disegnarne.

Di nuovo a rimodellare dati a mano?

Un payload che devi sistemare in una scheda del browser ogni volta è lavoro da codice. Costruiamo le integrazioni, i parser e i servizi che spostano dati tra sistemi, e ripariamo quelli che li corrompono in silenzio lungo il tragitto.

Dicci cosa stai spostando

Domande frequenti

Perché il mio pattern trova solo la prima corrispondenza?
Perché il flag g è spento. Senza di esso un'espressione regolare si ferma alla prima corrispondenza per scelta, cosa che serve in un controllo di validità e non quando scandagli un documento. Accendilo e vengono elencate tutte.
Supporta i gruppi con nome?
Sì. Sia i gruppi numerati sia quelli con nome compaiono nella tabella per ogni corrispondenza, quindi un pattern che usa (?<year>\d{4}) mostra l'anno accanto al gruppo 1. Di solito è proprio questo che stai verificando, più che il fatto che il pattern corrisponda.
Come tratta $1 la modalità sostituzione?
Esattamente come farà il tuo codice, perché passa pattern e sostituto alla funzione di sostituzione del linguaggio. Quindi $1 e $<name> si riferiscono ai gruppi, $& è l'intera corrispondenza e $$ è un dollaro letterale.
Perché ha smesso di elencare corrispondenze?
C'è un limite, perché un pattern che corrisponde in ogni posizione produce una riga per carattere e la tabella diventa inutilizzabile molto prima di diventare utile. Quando lo raggiungi, il pattern è di solito più ampio del previsto.
Il mio pattern blocca la pagina. Perché?
Alcuni pattern fanno backtracking catastrofico: quantificatori annidati come (a+)+ possono impiegare tempo esponenziale su un testo che quasi corrisponde. È una proprietà del pattern, non di questa pagina, e vale la pena saperlo, perché lo stesso pattern farà lo stesso sul tuo server.