Che cos'è uno spiegatore regex?
Uno spiegatore regex prende un'espressione regolare e la traduce in un inglese semplice, un costrutto alla volta. invece di strizzare gli occhi su una linea densa come ^(?<user>[A-Z0-9._%+-]+)@... Ottieni una ripartizione etichettata: questa parte è un'ancora, questo è un gruppo di acquisizione denominato, questa classe di caratteri significa "una lettera minuscola, una cifra, un punto o un trattino" e questo quantificatore significa "una o più volte". Trasforma un muro di simboli in una lista di controllo che puoi leggere.
Le espressioni regolari sono compatte in base al design, il che le rende potenti ma difficili da rivedere. Lo stesso schema può essere scritto in molti modi e una singola barra rovesciata o un quantificatore avido cambia completamente il significato. Leggere una regex sconosciuta - in una revisione del codice, un vecchio file di configurazione o una risposta di overflow dello stack - di solito significa simulare mentalmente il motore. Questo strumento esegue quella simulazione per te e mostra il risultato come un elenco ordinato e rientrato che rispecchia la struttura del modello, inclusi i gruppi nidificati e le ricerca.
Tutto funziona sul lato client sullo stesso motore regExp JavaScript utilizzato dal tuo codice, quindi il comportamento e la validità del flag che vedi qui corrispondono alla produzione. Il tuo pattern non viene mai caricato, non viene registrato nulla e lo strumento continua a funzionare offline una volta caricata la pagina. Questo è importante quando la regex che stai cercando di capire proviene da una base di codice privata o corrisponde a formati di dati sensibili.
Lo spiegatore ti dice cosa dice un modello, non se è il modello giusto per i tuoi dati - per verificarlo, eseguilo con un input reale nel tester regex. Poiché si compila con il motore del browser, i costrutti che esistono in PCRE ma non in EcmaScript si comportano in due modi diversi. I quantificatori possessivi come A++, i gruppi atomici (?>...) e la ricorsione (?R) vengono rifiutati a titolo definitivo, con il messaggio del motore. Il caso più sottile è \a e \z: senza il flag u, JavaScript li tratta come escape di identità, quindi un modello copiato da PHP o Python viene spiegato come abbinando un limite A o Z letterale piuttosto che un limite di stringa e non viene sollevato alcun errore. Normalmente vengono descritti anche i quantificatori nidificati come (A+)+; il backtracking catastrofico è una proprietà di runtime dell'input, non qualcosa di visibile nella struttura.
Come utilizzare lo spiegatore regex?
Incolla la tua espressione regolare
Entra nel modello senza le barre circostanti - solo l'espressione stessa. Fare clic su Carica campione per iniziare da un esempio di corrispondenza e-mail lavorato.
Imposta le bandiere
Alterna le bandiere usate dal modello (G, I, M, S, U, Y, D). Lo spiegatore riporta cosa fa ogni flag e convalida il modello contro quella combinazione di flag.
Leggi il guasto
Ogni token è elencato in ordine con una descrizione in inglese semplice. I gruppi nidificati sono rientrati in modo che la struttura del motivo sia visibile a colpo d'occhio.
Copia la spiegazione
Copia la ripartizione completa del testo normale per incollare in un commento in codice, una nota di richiesta pull o documentazione in modo che il lettore successivo non debba decodificarlo.
Caratteristiche principali
Ripartizione token per token
Ogni ancora, classe di caratteri, quantificatore, gruppo ed escape ottiene la propria linea con una descrizione, nell'ordine in cui il motore li legge
Gruppo e guardarsi intorno
L'acquisizione, la non cattura, i gruppi denominati e tutti e quattro i tipi di lookaround sono etichettati e rientrati, quindi la struttura nidificata è facile da seguire
Segnala spiegazioni
I flag G, I, M, S, U, Y e D sono descritti ciascuno nel contesto, quindi capisci come cambiano l'intera corrispondenza, non solo la sintassi
Convalida del motore reale
I modelli vengono convalidati con il motore RegExp nativo del browser, quindi un'espressione non valida viene rilevata con l'errore esatto prima di fare affidamento su di esso
Frequently Asked Questions
Related Tools
Email Extractor
Extract email addresses, URLs, phone numbers, and IPv4 addresses from any block of text. De-duplicate, sort, and copy the results. Runs client-side.
Regex Replace
Find and replace text with a regular expression, using capture group backreferences like $1 and named groups, with full flag support
Regex Tester
Test regular expressions against sample text with live match highlighting, capture groups, and full flag support
Regex Builder
Build, test, and debug regular expressions with real-time matching and a comprehensive cheatsheet
Comments
0 comments
No comments yet. Be the first to share your thoughts!