Tasuta konverter

Regex Tester

Testige ja siluge regulaaravaldisi koheselt oma brauseris. Tõstke esile vasted, vaadake võttegruppe ja kasutage asendusrežiimi – tasuta ja privaatne.

//g
Lipud:

Sellest tööriistast

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.

Miks kasutada Regex Testerit?

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.

Kuidas kasutada

Sisestage muster, tippige testsisend, vaadake vasteid esile tõstetud reaalajas.

  1. Sisestage oma muster: Tippige mustriväljale regex-muster. Töötavad nii sõnasõnalised regex (/muster/lipud) kui ka ainult mustriga vormid; lippe saab määrata lippude sisendi kaudu.
  2. Lisa testisisend: Kleebi näidistekst, millele muster peaks sobima (ja ideaaljuhul ka tekst, mis ei peaks sobima). Tester käivitab mustri sisendi vastu ja tõstab vasted esile.
  3. Määra lipud: Levinud lipud: g (globaalne, leia kõik vasted), i (suur- ja suurtähtede tundlik), m (mitmerealine, ^ ja $ vasterea algus/lõpp), s (punkt, . vastab reavahetustele), u (Unicode).
  4. Kontrollige tulemusi: Iga vaste on sisendis esile tõstetud. Jäädvustamisrühmad kuvatakse loendis koos rühma indeksi ja väärtusega. Tester näitab ka vastete arvu ja kõiki mustri kompileerimisvigu.

Levinud kasutusjuhtumid

Tehnilised üksikasjad

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.

Parimad tavad

Korduma kippuvad küsimused

Millist regexi maitset see tööriist toetab?
See kasutab JavaScripti sisseehitatud RegExp mootorit, mis toetab standardset süntaksit, sealhulgas ettevaateid, tagantvaateid (tänapäevastes brauserites), nimega hõivamisrühmi ja Unicode'i atribuutide põgenemisi.
Kas ma saan regexi asendusi testida?
Jah. Asendusmustri sisestamiseks lülitage asendusrežiimi. Saate kasutada $1, $2 jne jäädvustamisrühma tagasiviidete jaoks ja $<nimi> nimega rühmade jaoks.
Miks kattub minu regex siin teisiti kui Pythonis/PHP-s?
Erinevatel programmeerimiskeeltel on veidi erinevad regex-mootorid. JavaScript ei toeta omastavaid kvantoreid ega mõnda PCRE-spetsiifilist funktsiooni. Põhisüntaks (märgiklassid, kvantorid, rühmad) on kõikides keeltes sama.
Kas tööriist salvestab mu regex-mustrid?
Ei. Midagi ei salvestata ega edastata. Tööriist töötab täielikult teie brauseris. Saate lisada järjehoidjatesse või jagada mustreid, kopeerides regex-stringi.
Kuidas sobitada sõnasõnaline erimärk?
Vältige seda kaldkriipsuga. Sõnasõnalise punkti vastendamiseks: \. Sõnasõnalise kaldkriipsuga sobitamiseks: \\. Tegelaste klassides [...] kaotab enamik erimärke oma tähenduse.
Kas tester töötab serveris?
Ei. Mustri koostamine ja sobitamine toimub teie brauseris natiivse RegExp-objekti abil.
Kas ma saan testida mitte-JavaScripti mootorite mustreid?
Enamasti. Lihtsate mustrite puhul on suuremad mootorid nõus. Täiustatud funktsioonide (tagavaade, aatomirühmad, omastavad kvantorid, Unicode'i atribuutide väljapääsud) puhul kinnitage sihtmootori dokumentatsioon.
Kas see saab hakkama väga suure sisendiga?
Kuni paar megabaiti töötab sujuvalt. Suuremad sisendid võivad brauserit aeglustada või segi ajada, eriti kui mustrid kalduvad tagasi minema.