Sări la conținut

Explicator regex

Descompuneți o expresie regulată în pași în limba engleză simplă, o bucată la o dată.

Intrare
Ieșire

Explicator regex

Inserați o expresie regulată și acest instrument o descompune bucată cu bucată, transformând sintaxa criptică ca ^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$ în o explicație în limba engleză simplă a ceea ce potrivește fiecare parte. Acceptă un model pur sau un literal complet /pattern/flags, pentru a putea lipi exact ceea ce ați copiat dintr-un editor de cod, o bibliotecă de validare sau o răspuns vechi pe Stack Overflow.

Activați Explică flaguri pentru semnificația linie cu linie a g, i, m, s, u și a celorlalte; Listează grupuri de captură și numite pentru a vedea fiecare (…) dintr-o privire, util atunci când un model are mai multe decât puteți număra; Avertizează cu privire la riscul de backtracking pentru a semnala repetare imbricată și nelimitată — forma clasică (a+)+ care poate bloca un motor regex la intrarea greșită; Sugerează notație mai simplă pentru rescripturi ușoare ca [0-9] la \d; și Generează eșantion potrivit pentru a produce un șir scurt pe care modelul îl acceptă cu adevărat, util ca verificare rapidă. Alegeți Arbore sau Pași numerați pentru modul în care este dispusă descompunerea și JavaScript, PCRE sau Python ca dialect pentru notele despre sintaxa grupului numit și cuantificatori posesivi.

Analizorul este scris de la zero mai degrabă decât împrumutat dintr-un singur motor, deci explicațiile sale rămân consistente pe toate dialectele și funcționează corect cu caractere escape-ate, puncte de cod Unicode și emoji în text literal — nimic nu este împărțit în bucăți greșite.

Totul se execută local în browserul dvs. Un model construit în jurul unui format de cheie API sau un validator de date personale nu pleacă niciodată din mașina dvs. Copiați explicația, descărcați-o ca fișier .txt sau trimiteti rezultatul înapoi în intrare pentru a explora un model asociat următor.

FAQ

Care dialect regex ar trebui să aleg?
JavaScript acoperă ceea ce funcționează de fapt într-un browser; treceți la PCRE sau Python doar atunci când doriți notele lor specifice de dialect despre grupuri numite și cuantificatori posesivi — descompunerea în sine citește același model în același mod în toate trei.
Poate detecta fiecare model de backtracking catastrofal?
Nu. Semnalează cea mai comună cauză — repetare imbricată nelimitată ca (a+)+ — ca o euristică. Tratați un avertisment ca demn de o a doua privire, nu o garanție, și tratați un rezultat curat în același mod.
Cât de precisă este șirul de eșantion generat?
Este un exemplu determinist de cel mai bun efort construit prin parcurgerea modelului o dată. Este de încredere pentru modele directe, dar lookarounds și backreferences complexe sunt doar aproximate.
Validează modelul în raport cu un motor regex real?
Nu — execută propriul analizor, deci aceeași explicație funcționează pentru JavaScript, PCRE și sintaxa Python fără ca un motor doar de browser să vină în cale. Sintaxa cu adevărat obscură poate fi raportată ca nevalidă chiar și atunci când un motor specific ar fi acceptat-o.
Expresia mea regulată este încărcată undeva?
Nu. Explicarea unui model se execută în întregime în browserul dvs. — textul pe care îl lipiți nu este niciodată trimis pe un server.