Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Vai al contenuto principale
Gizke.com
Blog

Tester di Regex

Funziona sul tuo dispositivo. Nulla viene inviato.

Flag

Pattern comuni

Testo di prova

Nessuna corrispondenza trovata

Spiegazione

Digita un pattern sopra per vedere una spiegazione di cosa fa ogni parte

Testa, spiega e debugga espressioni regolari JavaScript con evidenziazione delle corrispondenze in tempo reale, interamente nel tuo browser.

Un'espressione regolare (regex) è un pattern usato per abbinare, trovare o sostituire testo - lo stesso strumento alla base della funzione cerca e sostituisci negli editor di codice, della validazione dei form e dell'analisi dei log. Questo tester esegue il motore regex nativo di JavaScript direttamente nel tuo browser: digita un pattern e un testo di prova, ed evidenzia ogni corrispondenza, scompone i gruppi di cattura, mostra un'anteprima delle sostituzioni e spiega in linguaggio semplice cosa fa ogni parte del pattern. Nulla di ciò che digiti viene mai caricato altrove.

Domande frequenti

Quale variante di regex utilizza questo strumento?
Il motore regex nativo di JavaScript (quello dietro RegExp e String.prototype.match/replace), poiché tutto qui viene eseguito lato client nel tuo browser anziché su un server. È molto simile a PCRE ma presenta alcune differenze - ad esempio, il supporto per il lookbehind dipende dalla versione del motore, e i gruppi con nome usano la sintassi (?<nome>...).
Perché il mio pattern corrisponde solo una volta?
Per impostazione predefinita, senza il flag g (globale), una regex si ferma dopo la prima corrispondenza - questo rispecchia il comportamento reale di RegExp.exec() e String.match() in JavaScript. Attiva il flag g sopra per trovare tutte le corrispondenze nel testo di prova invece della sola prima.
Qual è la differenza tra (...) e (?:...)?
Entrambi raggruppano parti di un pattern, ma solo (...) - un gruppo di cattura - salva ciò che ha trovato così da poterlo referenziare in seguito (come $1, $2, ... in una sostituzione, o nell'elenco dei gruppi della corrispondenza). (?:...) è un gruppo senza cattura: raggruppa e applica i quantificatori senza conservare la corrispondenza, utile quando serve raggruppare senza interessarsi al testo catturato.
Come funzionano i gruppi con nome e le sostituzioni $<nome>?
Scrivi (?<nome>...) invece di (...) per catturare un gruppo con un nome invece di un semplice numero. In modalità Sostituisci, fai riferimento ad esso nel testo di sostituzione come $<nome> - ad esempio, (?<anno>\d{4})-(?<mese>\d{2}) sostituito con $<mese>/$<anno> riordina una data senza dover ricordare i numeri dei gruppi.
Qual è la differenza tra un quantificatore avido (greedy) e uno pigro (lazy), come + rispetto a +??
Un quantificatore avido (+, *, {2,4}) trova la corrispondenza più lunga possibile, per poi ridurla solo se necessario a far combaciare il resto del pattern. Un quantificatore pigro - lo stesso simbolo seguito da ? - trova invece la corrispondenza più corta possibile, espandendosi di un carattere alla volta solo quando serve. Ad esempio, <.+> contro <a><b> combacia avidamente con l'intero <a><b>, mentre <.+?> combacia pigramente solo con <a>.
Cosa verificano davvero lookahead e lookbehind, se non consumano alcun carattere?
Verificano se un pattern compare subito prima o dopo la posizione corrente senza includerlo nella corrispondenza stessa - quindi (?=...) e (?<=...) verificano in avanti/indietro che qualcosa debba esserci, mentre (?!...) e (?<!...) verificano che non debba esserci. Per questo puoi usare \d+(?=px) per far combaciare un numero solo quando è seguito da 'px', mentre 'px' stesso non compare mai nel testo corrisposto.
Per sviluppatori: apri questa pagina con i parametri `q` (il pattern) e `text` (il testo di prova) nell'URL - es. gizke.com/regex?q=\d+&text=There are 42 apples - ed entrambi verranno precompilati automaticamente. La maggior parte dei visitatori non ne avrà bisogno; serve per collegarsi direttamente a un esempio pronto all'uso.

Condividi questo strumento

BlogChi siamoContattiTermini di utilizzoInformativa sulla privacy