Regex Tester
Takoj preizkusite regularne izraze in jih odpravite v brskalniku. Označite ujemanja, oglejte si skupine zajemanja in uporabite način zamenjave — brezplačen in zaseben.
Takoj preizkusite regularne izraze in jih odpravite v brskalniku. Označite ujemanja, oglejte si skupine zajemanja in uporabite način zamenjave — brezplačen in zaseben.
Regularni izrazi so domensko specifičen jezik za ujemanje vzorcev v besedilu. Del računalništva so že od leta 1968 in so zdaj vgrajeni v vsak sodoben programski jezik, urejevalnik besedil in orodje za iskanje v ukazni vrstici. Sintaksa je jedrnata, a nagnjena k napakam: majhne spremembe povzročijo subtilno drugačno vedenje ujemanja, zapleteni izrazi pa hitro postanejo neberljivi. Tester, ki prikazuje ujemanja v realnem času, ko urejate vzorec, je najučinkovitejši način za razvoj in preverjanje regularnega izraza.
Ta preizkuševalec se izvaja v vašem brskalniku z uporabo mehanizma regularnih izrazov JavaScript (istega, ki ga uporablja vaša aplikacija, če se izvaja v brskalniku). Vzorci in testno besedilo se posodabljajo reaktivno: vsaka sprememba enega ali drugega ponovno izvede ujemanje. Skupine za ujemanje so označene, zajete skupine so navedene in zastavice (neobčutljive na velike in male črke, večvrstične, globalne) so izpostavljene za testiranje.
Sintaksa regularnega izraza se med motorji rahlo razlikuje. JavaScript sledi specifikaciji ECMAScript; Python, PCRE (uporablja ga PHP in številni drugi), Java in Go imajo vsak svoja narečja s prekrivajočimi se, a ne enakimi funkcijami. Tukaj razviti vzorci uporabljajo sintakso ECMAScript; prenosljivost med motorji zahteva preverjanje dokumentacije vsakega cilja.
Znano je, da je hrošče po uvedbi težko odpraviti. Vzorec, ki je videti razumen, se lahko ujema bolj ali manj od načrtovanega, odpove na robovih ali ima katastrofalno povratno sledenje pri določenih vhodih. Interaktivno testiranje vzorcev glede na reprezentativne vnose odkrije težave pred pregledom in izdelavo kode.
Vzorci imajo koristi tudi od dokumentacije. Prikaz regularnega izraza poleg vnosa, s katerim se mora ujemati, in vnosa, s katerim se ne bi smel ujemati, pomeni, da je namen ekspliciten. Prihodnji vzdrževalci (vključno z vami čez šest mesecev) cenijo dokumentirane testne primere bolj kot pametne enovrstične predloge.
Vnesite vzorec, vnesite preizkusni vnos, oglejte si označene tekme v živo.
Regularni izraz JavaScript sledi specifikaciji ECMAScript. Glavne značilnosti: razredi znakov ([abc], [^abc]), kvantifikatorji (*, +, ?, {n,m}), alternacija (|), združevanje ((...)), skupine za zajemanje in nezajemanje, pogled naprej in pogled nazaj (sodobni motorji), reference nazaj, imenovane skupine, ubežne vrednosti lastnosti Unicode (z zastavico u) in standardni nabor ubežnih zaporedij.
Pomembne razlike od PCRE in Pythona: podpora za pogled nazaj je v JavaScriptu (2018+); imenovane skupine uporabljajo sintakso (?<ime>...); nekateri ubežniki Unicode zahtevajo pravilno delovanje zastavice u. Vzorce, namenjene medjezikovni uporabi, je treba preveriti glede na dokumentacijo vsakega cilja.
Zmogljivost: motorji regularnih izrazov, ki temeljijo na sledenju nazaj (večina vključuje JavaScript), imajo lahko katastrofalno sledenje nazaj pri določenih patoloških vzorcih. Preizkusi, ki obesijo preizkuševalnik, so znak, da je treba vzorec poenostaviti – običajno z izogibanjem ugnezdenim kvantifikatorjem in dvoumnemu menjavanju.