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.
| # | A | Corrispondenza | Gruppi |
|---|
Flag delle espressioni regolari
| Flag | Descrizione |
|---|---|
g | Globale - trova tutte le corrispondenze, non solo la prima |
i | Corrispondenza senza distinzione maiuscole/minuscole |
m | Multilinea - ^ e $ corrispondono ai confini di riga |
s | Dotall - . corrisponde anche ai caratteri di nuova riga |
u | Unicode - abilita la corrispondenza Unicode completa |
y | Corrisponde 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 $
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 spostandoDomande 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 (?
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 $
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.