Toolbox Hub
Tutti gli strumenti

Regex Tester

Test regular expressions

Test regular expressions Funziona localmente nel tuo browser

About the

Il Regex Tester esegue un'espressione regolare JavaScript sul tuo testo di esempio ed evidenzia ogni corrispondenza durante la digitazione, così puoi osservare un modello avere successo o fallire invece di indovinare. Accanto agli highlights elenca ogni corrispondenza con la sua posizione iniziale e i suoi gruppi di acquisizione, che è la parte che ti dice effettivamente se il gruppo 2 è il valore che volevi o una stringa vuota. Tre errori causano la maggior parte delle espressioni regolari non funzionanti, e tutti e tre sono visibili qui: un quantificatore avido che inghiotte silenziosamente più testo del previsto, un punto senza caratteri di escape che corrisponde a qualsiasi cosa e un flag globale mancante che interrompe la ricerca dopo il primo risultato.

Where people use the

  • Debug di un modello di analisi del registro rispetto a una manciata di righe di registro reali.
  • Elaborare una regola per il telefono o il codice postale prima di inserirla in un modulo.
  • Estrazione di numeri d'ordine o ID da un blocco di testo incollato.
  • Imparare come si comportano i quantificatori cambiando un carattere e osservando lo spostamento dei punti salienti.

How to use the

  1. 1

    Incolla il testo che vuoi testare

    Utilizzare un campione reale piuttosto che uno inventato. I casi limite nei dati effettivi sono ciò che interrompe lo schema, quindi includi una linea che non dovrebbe corrispondere.

  2. 2

    Scrivi il modello

    Inserisci l'espressione senza le barre circostanti, ad esempio [a-z]+ anziché /[a-z]+/. I flag sono interruttori separati.

  3. 3

    Attiva o disattiva i flag

    g trova ogni corrispondenza invece di fermarsi alla prima, i ignora maiuscole e minuscole, m fa funzionare le ancore per riga, s consente a un punto di estendersi su nuove righe, u abilita la modalità Unicode completa e y ancora le corrispondenze a lastIndex.

  4. 4

    Leggi la tabella delle partite

    Ogni risultato mostra il testo corrispondente, il relativo spostamento del carattere e ogni gruppo di acquisizione. Un gruppo vuoto inaspettato di solito significa che un quantificatore opzionale non corrisponde a nulla.

  5. 5

    Copia il modello finito

    Quando le evidenziazioni sembrano corrette, copia l'espressione e incollala nel tuo codice, ricordando di portare anche le bandiere.

Suggerimenti e migliori pratiche

  • Prova una regola per modello. Una regex che esegue tre lavori è illeggibile e impossibile da eseguire il debug.
  • Includi una riga che non deve corrispondere e conferma che non venga evidenziata.
  • Preferisci i gruppi con nome come anno, mese, giorno rispetto a quelli numerati, in modo che lo schema abbia ancora un significato quando tornerai ad esso il mese prossimo.

Domande frequenti

Quale sapore regex utilizza?

JavaScript, tramite il motore RegExp del browser. La sintassi è vicina a PCRE e al modulo re di Python, ma non identica. I gruppi denominati, lookahead, lookbehind e le proprietà Unicode escape funzionano tutti nei browser attuali.

Perché il mio pattern corrisponde a molto più testo di quanto mi aspettassi?

Perché i quantificatori sono avidi per impostazione predefinita. Qualcosa come .* o [0-9]+ consumerà quanto più possibile consentendo comunque la corrispondenza del resto del pattern. Aggiungi un punto interrogativo per renderlo pigro, quindi .*? o [0-9]+? si ferma alla prima occasione.

Perché ottengo un solo risultato?

La bandiera globale è spenta. Senza g, il motore restituisce la prima corrispondenza e si ferma. Attiva/disattiva g per raccogliere tutte le corrispondenze nell'input.

Perché la mia ancora non funziona sulla seconda riga?

Per impostazione predefinita, le ancore del cursore e del dollaro si riferiscono all'inizio e alla fine dell'intera stringa, non a ciascuna riga. Abilita il flag m per renderli consapevoli della linea.

I dati del mio test vengono inviati ovunque?

No. La corrispondenza avviene nel tuo browser con l'oggetto RegExp integrato. Non viene caricato nulla, motivo per cui puoi tranquillamente incollare vere righe di registro o frammenti di configurazione.

Posso usarlo per convalidare l'input su un modulo?

Puoi sviluppare il modello qui, ma convalidarlo sempre di nuovo sul server. L'espressione regolare lato client è una comodità per l'utente, mai un controllo di sicurezza, perché può essere ignorata completamente.

Strumenti correlati