Sări la conținut

Regex escape

Escape caractere cu semnificație specială în expresiile regulate, pentru ca textul să corespundă literal.

Intrare
Ieșire

Regex escape

O expresie regulată tratează caractere cum ar fi . * + ? ^ $ { } ( ) | [ ] și \ ca instrucțiuni, nu ca text literal. Lipiți un nume de fișier, un preț, un URL sau orice șir care conține unul dintre acestea, iar acest instrument face escape pentru fiecare caracter special cu o bară inversă, astfel încât rezultatul să corespundă exact acelui text — nimic mai mult, nimic mai puțin. Schimbați direcția la unescape și procesul se inversează: eliminați barele inverse dintr-un model pentru a recupera șirul original.

Opțiunea dialect decide ce caractere au cu adevărat nevoie de escape. JavaScript și PCRE au același set de metacaractere, deci un model construit pentru unul se comportă la fel în celălalt. POSIX Basic Regular Expressions — implicitul pentru grep și sed simple — sunt mai restrictive: + ? { } ( ) și | sunt caractere literale obișnuite acolo, nu metacaractere, deci escape-ul lor este omis în loc să fie aplicat orbește. Activați "escape delimiter" când modelul va fi scris între bare, cum ar fi /model/, pentru ca o bară literală / să nu termine prematur modelul.

Două opțiuni gestionează intrări multilinie. "Fiecare linie ca propriul ei model" înfășoară fiecare linie cu ^ și $, transformând o listă de șiruri exacte în modele care corespund liniilor complete — util pentru construirea de liste permise sau blocate linie cu linie. "Uniți liniile într-o singură alternație" merge mai departe, combinând fiecare linie într-un singur grup (?:a|b|c) gata de inserat direct într-o expresie regulată. Unescape inversează ambele: împarte o alternație înapoi în linii și elimină ancorajele.

Totul se execută local în browserul dvs. Textul și modelele pe care le lipiți — inclusiv nume de fișiere, jetoane sau căi pe care preferați să nu le încărcați — nu sunt niciodată trimise nicăieri; escape-ul se întâmplă în întregime pe dispozitivul dvs.

FAQ

Ce caractere face escape acest instrument?
Metacaracterele de expresie regulată . * + ? ^ $ { } ( ) | [ ] și \. Exact care dintre acestea au nevoie de o bară inversă depinde de dialectul pe care îl alegeți — POSIX BRE, de exemplu, tratează + ? { } ( ) și | ca fiind deja literale.
Care este diferența dintre dialectele JavaScript, PCRE și POSIX?
JavaScript și PCRE (expresie regulată compatibilă cu Perl, folosită de multe limbaje și instrumente) au același set de metacaractere pentru escape. POSIX aici înseamnă o Expresie Regulată Básică, implicitul pentru grep și sed simple, unde + ? { } ( ) și | sunt caractere obișnuite, nu metacaractere — deci nu sunt escape-uite.
Ce produce "uniți liniile într-o singură alternație"?
Face escape pentru fiecare linie și le combine într-un singur grup cum ar fi (?:pisică|câine|pasăre), gata să se folosească ca un model care se potrivește oricăreia dintre linii. Schimbarea la unescape împarte un model în această formă exactă înapoi în linii separate.
Poate unescape vreodată să eșueze sau să arunce o eroare?
Nu. Unescape elimină doar o bară inversă care se găsește direct înainte de un caracter special recunoscut; orice altă secvență de bară inversă sau un wrapper alternație prost format este lăsat exact cum a fost scris în loc să arunce o eroare.
Textul meu este încărcat undeva?
Nu. Escape și unescape se execută în întregime în browserul dvs. — nimic din ceea ce lipiți aici nu este trimis la un server.