Regex Tester
Testige ja siluge regulaaravaldisi koheselt oma brauseris. Tõstke esile vasted, vaadake võttegruppe ja kasutage asendusrežiimi – tasuta ja privaatne.
Testige ja siluge regulaaravaldisi koheselt oma brauseris. Tõstke esile vasted, vaadake võttegruppe ja kasutage asendusrežiimi – tasuta ja privaatne.
Regulaaravaldised on domeenispetsiifiline keel teksti mustrite sobitamiseks. Need on olnud osa andmetöötlusest alates 1968. aastast ja on nüüd sisse ehitatud igasse kaasaegsesse programmeerimiskeelde, tekstiredaktorisse ja käsureaotsingu tööriista. Süntaks on lühike, kuid vigane: väikesed muudatused põhjustavad peenelt erineva vaste käitumise ja keerulised väljendid muutuvad kiiresti loetamatuks. Tester, mis näitab mustri muutmise ajal vasteid reaalajas, on kõige tõhusam viis regexi arendamiseks ja kontrollimiseks.
See tester töötab teie brauseris JavaScripti regex-mootori abil (sama, mida teie rakendus kasutab, kui see töötab brauseris). Mustreid ja testteksti värskendatakse reaktiivselt: iga muudatus mõlemas käivitab vaste uuesti. Vasterühmad tõstetakse esile, jäädvustatud rühmad loetletakse ja testimiseks kuvatakse lipud (suur- ja suurtähti mittetundlikud, mitmerealised, globaalsed).
Regexi süntaks varieerub mootoriti peenelt. JavaScript järgib ECMAScripti spetsifikatsiooni; Pythonil, PCRE-l (kasutavad PHP ja paljud teised), Java-l ja Go-l on kõigil oma dialektid, millel on kattuvad, kuid mitte identsed funktsioonid. Siin välja töötatud mustrid kasutavad ECMAScripti süntaksit; mootoritevaheline teisaldatavus nõuab iga sihtmärgi dokumentatsiooni kontrollimist.
Regexi vigu on pärast juurutamist kurikuulsalt raske siluda. Mõistlikuna näiv muster võib kattuda rohkem või vähem kui ette nähtud, nurjuda servajuhtumitel või olla teatud sisendite puhul katastroofiline tagasiminek. Mustrite interaktiivne testimine esindusliku sisendi suhtes tabab probleeme enne koodi ülevaatamist ja tootmist.
Mustritele tuleb kasuks ka dokumentatsioon. Regulaarse väljendi kuvamine koos sisendiga peaks ühtima ja sisendiga, millega see ei peaks ühtima, muudab kavatsuse selgesõnaliseks. Tulevased hooldajad (sealhulgas sina kuue kuu pärast) hindavad dokumenteeritud testjuhtumeid rohkem kui nutikaid ühekihilisi.
Sisestage muster, tippige testsisend, vaadake vasteid esile tõstetud reaalajas.
JavaScripti regex järgib ECMAScripti spetsifikatsiooni. Peamised funktsioonid: märgiklassid ([abc], [^abc]), kvantorid (*, +, ?, {n,m}), vaheldumine (|), rühmitamine ((...)), hõivamis- ja mittehõiverühmad, ette- ja tagavaade (kaasaegsed mootorid), tagasiviited, nimega rühmad, Unicode'i atribuutide põgenemised (standardse u-lipuga) ja koodid.
Olulised erinevused PCRE-st ja Pythonist: lookbehindi tugi on JavaScriptis (2018+) hiljuti olemas; nimega rühmad kasutavad (?<nimi>...) süntaksit; mõned Unicode'i paokoodid nõuavad lipu u korrektseks toimimiseks. Keelteüleseks kasutamiseks mõeldud mustreid tuleks võrrelda iga sihtmärgi dokumentatsiooniga.
Jõudlus: tagasiteel põhinevatel regex-mootoritel (enamik sisaldab JavaScripti) võib teatud patoloogiliste mustrite puhul olla katastroofiline tagasiminek. Testid, mis riputavad testeri, on märk sellest, et muster vajab lihtsustamist – tavaliselt välditakse pesastatud kvantoreid ja mitmetähenduslikku vaheldumist.