Tester di Espressioni Regolari
FreeTesta un'espressione regolare su un testo usando il motore nativo delle espressioni regolari JavaScript, con evidenziazione delle corrispondenze in tempo reale, un'analisi completa dei gruppi di cattura numerati e con nome, e una modalità di sostituzione opzionale che mostra in anteprima l'output di String.replace().
Funziona interamente nel tuo browser usando il motore nativo delle espressioni regolari JavaScript. Non viene caricato nulla da nessuna parte.
Corrispondenze evidenziate
Corrispondenze
Attività recente
Visibile a tutti. Ultimi 20 utilizzi su tutti i visitatori, i più recenti per primi.
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2 ore fa
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2 ore fa
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2 ore fa
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2 ore fa
Tested a pattern (50 chars, flags: (none)) -- 1 match(es)
2 ore fa
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2 ore fa
Cosa fa questo strumento
Questo strumento testa un'espressione regolare su un blocco di testo usando il motore nativo delle espressioni regolari JavaScript del browser. Le corrispondenze vengono evidenziate direttamente nel testo, ogni corrispondenza viene scomposta nei suoi gruppi di cattura numerati e con nome, e una modalità di sostituzione opzionale mostra esattamente cosa produrrebbe String.replace() con il tuo pattern e testo di sostituzione.
Come funziona
Il tuo pattern e i flag selezionati vengono compilati in un vero oggetto RegExp JavaScript. Quando il flag Global è attivo, lo strumento chiama ripetutamente exec() sul testo, avanzando oltre ogni corrispondenza (e di un carattere oltre le corrispondenze vuote per evitare un ciclo infinito) finché non vengono più trovate corrispondenze; senza Global, exec() viene chiamato una sola volta. L'evidenziazione viene costruita scorrendo le corrispondenze in ordine e racchiudendo ogni sottostringa corrispondente in un marcatore, lasciando intatto il testo circostante. La modalità sostituzione chiama il metodo replace() del testo stesso con il tuo pattern compilato e la stringa di sostituzione, quindi il risultato è esattamente ciò che produrrebbe il tuo stesso codice JavaScript.
Problemi che risolve
- Eseguire il debug del motivo per cui un'espressione regolare nel tuo codice JavaScript reale non corrisponde a quanto ti aspetti, usando esattamente lo stesso motore.
- Visualizzare in anteprima un'operazione di trova e sostituisci prima di eseguirla su dati reali.
- Capire a quale parte di un pattern corrisponde ciascun gruppo di cattura, vedendo il testo catturato di ogni gruppo contemporaneamente.
- Imparare i flag delle espressioni regolari in modo pratico, attivandoli e disattivandoli e osservando come cambia immediatamente l'elenco delle corrispondenze.
Domande frequenti
›Quale dialetto regex usa questo strumento?
Questo strumento esegue il tuo pattern attraverso il motore RegExp nativo di JavaScript del browser stesso, quindi corrisponde esattamente a come si comporterebbe un'espressione regolare in codice JavaScript reale, in Node.js, o in un validatore di form lato browser, non a un dialetto diverso come PCRE (PHP, Python con il modulo re ha le sue particolarità) o le regex .NET, che possono differire nel supporto del lookbehind, nella sintassi dei gruppi con nome e in alcuni altri dettagli.
›Cosa cambiano realmente i flag g, i, m, s e u?
g (global) trova ogni corrispondenza invece di fermarsi alla prima; i rende la corrispondenza insensibile alle maiuscole/minuscole; m fa in modo che ^ e $ corrispondano all'inizio e alla fine di ogni riga invece che solo dell'intera stringa; s (dotall) fa in modo che . corrisponda anche ai caratteri di nuova riga, cosa che altrimenti non fa; u abilita la modalità Unicode completa, che influisce su come vengono gestite le classi di caratteri e le coppie surrogate (caratteri fuori dal Piano Multilingue di Base, come molte emoji).
›Perché alcuni gruppi di cattura risultano mancanti anche se il mio pattern ha le parentesi?
Un gruppo di cattura che fa parte di un'alternanza (A|B) catturerà solo quando quel ramo dell'alternanza corrisponde effettivamente, quindi un gruppo proveniente dal ramo non utilizzato viene segnalato come non partecipante; questo è un comportamento standard delle espressioni regolari e non un bug in una corrispondenza particolare.
›Come interpreta la modalità di sostituzione il mio testo di sostituzione?
La modalità sostituzione usa la stessa sintassi di sostituzione di String.replace() di JavaScript: $1, $2, e così via inseriscono un gruppo di cattura numerato, $<name> inserisce un gruppo con nome, $& inserisce l'intera corrispondenza, e $$ inserisce un segno di dollaro letterale, esattamente come si comporterebbe in codice JavaScript reale.
›Il mio pattern corrisponde solo una volta anche se mi aspetto più corrispondenze, perché?
Verifica che il flag Global (g) sia attivo; senza di esso, sia l'elenco delle corrispondenze sia String.replace() agiscono solo sulla prima corrispondenza trovata, che è il comportamento standard delle espressioni regolari JavaScript, non una limitazione di questo strumento.
Strumenti correlati
Testo
Generatore di Espressioni Cron
Crea e analizza espressioni cron con un editor di campi in tempo reale, una descrizione in parole semplici e le prossime 5 esecuzioni reali. Supporta preimpostazioni, scorciatoie @ e la variante opzionale a 6 campi con secondi.
FreeTesto
Strumento Cifrario di Cesare
Cifra o decifra testo con un classico cifrario di Cesare, con una tabella di mappatura A-Z, lista a forza bruta, grafico frequenza lettere, e scorciatoia ROT13.
FreeTesto
Generatore di Arte ASCII
Trasforma il testo digitato o un'immagine caricata in arte ASCII. Scegli uno stile di font o una scala di caratteri, conserva il colore ed esporta come testo semplice o PNG.
FreeTesto
Redattore di Secrets/Config
Incolla un file .env o di configurazione e maschera automaticamente chiavi API, password e token accanto a nomi di chiave sensibili o formati di segreti noti (AWS, GitHub, Stripe, JWT, PEM). Poi sicuro da incollare in una IA di chat o bug report.
FreeTesto
Generatore di Record DMARC
Crea un record DNS DMARC da campi in linguaggio semplice, con preimpostazioni di implementazione graduale e un indicatore in tempo reale del livello di applicazione.
FreeTesto
Convertitore da Excel a Tabella HTML
Incolla da Excel o Google Fogli, oppure carica un file .xlsx/.xls/.csv, e ottieni una tabella HTML pulita con anteprima in tempo reale, stile opzionale e allineamento delle colonne numeriche.
FreeTesto
Generatore di Hash (MD5/SHA1/SHA256/SHA512)
Esegui l'hash di testo o file in MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, RIPEMD-160 e CRC32 tutti insieme, con un campo di confronto per un checksum noto.
FreeTesto
Generatore htpasswd
Genera un vero file .htpasswd di Apache con bcrypt o SHA, verificato byte per byte rispetto allo strumento ufficiale a riga di comando htpasswd, con supporto per più utenti contemporaneamente.
Commenti (0)
Hai trovato utile questo strumento? Lascia un commento, condividi un consiglio, o dicci come possiamo migliorarlo.
Ancora nessun commento. Sii il primo a condividere il tuo pensiero!