DevToys Web Pro iconDevToys Web ProBlog
Valutaci:
Prova l'estensione del browser:

Tester di espressioni regolari

Configurazione

Modello

Stringa di test

  • Corrispondenze

    Inserisci un pattern per vedere le corrispondenze

    Sostituisci

    Riferimento

    Classi di caratteri

    .Qualsiasi carattere tranne la nuova riga
    [abc]Corrisponde a a, b o c
    [^abc]Corrisponde a qualsiasi cosa tranne a, b, c
    [a-z]Intervallo di caratteri (da a a z)
    \dCifra (0-9)
    \DNon cifra
    \wCarattere di parola [a-zA-Z0-9_]
    \WCarattere non di parola
    \sSpazio bianco
    \SNon spazio bianco

    Ancoraggi

    ^Inizio della stringa/riga
    $Fine della stringa/riga
    \bConfine di parola
    \BNon confine di parola

    Caratteri di escape

    \tTabulazione
    \nNuova riga
    \rRitorno carrello
    \0Carattere nullo
    \xhhCarattere esadecimale (ad es. \xFF)
    \uhhhhCarattere Unicode

    Gruppi e riferimenti

    (abc)Gruppo di cattura
    (?:abc)Gruppo non di cattura
    (?<name>abc)Gruppo di cattura con nome
    \1Riferimento all'indietro al gruppo 1
    \k<name>Riferimento all'indietro al gruppo con nome

    Lookaround

    (?=abc)Lookahead positivo
    (?!abc)Lookahead negativo
    (?<=abc)Lookbehind positivo
    (?<!abc)Lookbehind negativo

    Quantificatori e alternanza

    a*0 o più (avido)
    a+1 o più (avido)
    a?0 o 1 (opzionale)
    a{n}Esattamente n volte
    a{n,}n o più volte
    a{n,m}Tra n e m volte
    a*?0 o più (non avido)
    a+?1 o più (non avido)
    a|bCorrisponde a a o b

    Sostituzione

    $1, $2Contenuto del gruppo catturato
    $&Corrispondenza completa
    $`Prima della corrispondenza
    $'Dopo la corrispondenza
    $$Carattere $ letterale
    Dettagli tecnici

    Come funziona il tester RegEx

    Cosa fa lo strumento

    Il tester regex ti consente di provare espressioni regolari su un testo di esempio in tempo reale. Funziona sia come debugger regex sia come validatore regex, aiutando gli sviluppatori a creare, testare e perfezionare espressioni di pattern matching. Questo tester usa il motore JavaScript RegExp (ECMAScript), quindi la sintassi può differire da PCRE, .NET o dai motori regex di Java. Quando devi testare regex online, questo strumento mostra tutte le corrispondenze, i gruppi di cattura e le sostituzioni. Lo strumento supporta la sintassi regex di JavaScript, incluse le flag regex di JavaScript (g, i, m, s, u): globale (g), senza distinzione tra maiuscole e minuscole (i), multilinea (m), dotAll (s) e unicode (u). Evidenzia le corrispondenze nella stringa di test, visualizza i gruppi di cattura e può eseguire operazioni di trova e sostituisci per mostrare in anteprima come una regex trasformerebbe il testo.

    Casi d’uso comuni per sviluppatori

    Gli sviluppatori usano i tester regex quando creano pattern di validazione, analizzano file di log o estraggono dati da stringhe. Testare i pattern regexp aiuta a individuare casi limite, fare debug di espressioni complesse e capire come diverse flag influenzano il comportamento di matching. Molti sviluppatori usano i tester regex per validare indirizzi email, numeri di telefono, URL o altri formati di dati strutturati. Lo strumento è utile quando si lavora con validazione di form, analisi di log o attività di elaborazione del testo. I tester regex aiutano anche quando si imparano le espressioni regolari, perché mostrano come i pattern corrispondono al testo tramite iterazione delle corrispondenze ed estrazione dei gruppi. Quando si testano regexp con testo multilinea o caratteri speciali, lo strumento aiuta gli sviluppatori a vedere esattamente cosa viene trovato e perché.

    Formati, tipi o varianti dei dati

    I tester regex gestiscono la sintassi delle espressioni regolari di JavaScript, che si basa su regex in stile Perl con alcune differenze rispetto ad altri motori regex. Lo strumento supporta classi di caratteri come \d per le cifre, \w per i caratteri di parola e \s per gli spazi bianchi. Gestisce gli anchor ( ^, $), i quantificatori (*, +, ?) e l’alternanza (|). La flag multilinea influisce su come ^ e $ corrispondono, mentre la flag dotAll fa sì che . corrisponda ai caratteri di nuova riga. Comprendere il comportamento delle nuove righe nelle regex è fondamentale per l’elaborazione di testo multilinea. Ad esempio, testare un pattern come /\d-\d-\d/ su una stringa di numero di telefono mostra esattamente quali parti corrispondono. La gestione delle nuove righe nelle regex dipende dalle flag: il pattern ^foo.*bar$ corrisponde a "foo\nbar" solo con la flag dotAll (s), poiché . non corrisponde alle nuove righe per impostazione predefinita. Quando lavori con pattern regex per nuove righe, usa \n per corrispondere a nuove righe letterali, oppure \r\n per le terminazioni di riga di Windows.

    Errori comuni e casi limite

    Un errore comune è dimenticare che le regex in JavaScript usano le barre oblique come delimitatori, non le virgolette. Un altro problema è fraintendere come la flag globale influisce sul matching: senza di essa viene restituita solo la prima corrispondenza, mentre con essa vengono trovate tutte le corrispondenze. La gestione delle nuove righe nelle regex può essere complicata: il carattere . non corrisponde alle nuove righe per impostazione predefinita, a meno che non venga usata la flag dotAll. La negazione nelle classi di caratteri con [^...] può creare confusione, perché corrisponde a qualsiasi carattere non presente nella classe. I quantificatori greedy vs lazy ( * vs *?) si comportano in modo diverso e possono causare risultati inattesi. Le asserzioni lookahead e lookbehind ( (?=...), (?&lt;=...)) sono potenti ma possono essere difficili da debuggare. Gli sviluppatori dovrebbero testare i pattern regex con vari input, inclusi casi limite come stringhe vuote, caratteri speciali e caratteri Unicode.

    Quando usare questo strumento rispetto al codice

    Usa questo tester regex per sviluppare rapidamente pattern, fare debug di espressioni complesse o imparare la sintassi delle espressioni regolari. È ideale per testare pattern regex prima di implementarli nel codice, soprattutto quando si lavora con sintassi non familiare o pattern complessi. Il feedback visivo aiuta a capire perché un pattern corrisponde o non corrisponde a un testo specifico. Per il codice in produzione, usa tester regex integrati negli IDE o nei framework di unit testing che possano validare i pattern come parte della tua suite di test. Gli strumenti nel browser eccellono nello sviluppo interattivo e nell’apprendimento, mentre le soluzioni basate su codice offrono automazione, integrazione con pipeline CI/CD e la possibilità di testare i pattern su grandi dataset. Per applicazioni complesse, il testing automatico delle regex garantisce che i pattern funzionino correttamente su input diversi e casi limite.