Regex testija

Testige JavaScripti regulaaravaldisi näidistekstil otse oma brauseris.

Muster
Lipud (Flags)
Testitav tekst
Esiletõstetud vasted
Sisestage testimiseks muster.

Teie mustrit ja teksti testitakse otse teie brauseris. Midagi ei laadita BroBroGo serverisse.

KKK

Kas oma teksti siia kleepimine on turvaline?

Jah. Vastendamine toimub täielikult teie brauseris – BroBroGo serveritesse ei saadeta midagi.

Mida tähendavad lipud g/i/m/s?

g leiab kõik vasted, mitte ainult esimese. i ignoreerib tõstutundlikkust. m paneb sümbolid ^ ja $ vastama iga rea algusele ja lõpule, mitte ainult kogu sõne omale. s võimaldab punktil (.) vastata ka reavahetustele.

Miks sain teate, et minu mustri käitamine võtab liiga kaua aega?

Mõned mustrid võivad põhjustada katastroofilist tagasivõtmist (catastrophic backtracking) – mootor proovib enne loobumist eksponentsiaalselt palju kombinatsioone, mis võib brauseri vahekaardi külmutada. See tööriist katkestab vastendamise 2 sekundi pärast, et leht ise ei hanguks. Proovige lihtsustada pesastatud kordusi nagu (a+)+.

Regulaaravaldised (regex) on võimsad tööriistad tekstist kindlate mustrite otsimiseks, asendamiseks ja valideerimiseks. Veebiarenduses ja andmetöötluses on regulaaravaldiste korrektne koostamine hädavajalik, et tagada rakenduste täpsus ja jõudlus. Kuna keeruliste mustrite käitumist on pelgalt koodi vaadates raske ennustada, võimaldab käesolev tööriist testida JavaScripti regulaaravaldisi reaalajas otse veebibrauseris.

Tööriist kuvab sisestatud mustri põhjal koheselt esiletõstetud vasted ja püüdegrupid, mis aitab mõista, kuidas regulaaravaldis erinevate sisenditega käitub. See on abiks nii mustrite toimivuse kontrollimisel, lippude mõju analüüsimisel, püüdegruppide eraldamisel kui ka potentsiaalsete jõudlusprobleemide tuvastamisel.

JavaScripti regulaaravaldiste süntaks ja testimine

JavaScript kasutab regulaaravaldiste puhul spetsiifilist süntaksit, mis võimaldab defineerida otsingumustreid sümbolite ja korduste abil. Mustri testimiseks sisestatakse väljale Muster soovitud regulaaravaldis (näiteks vaikimisi kuvatav näidis \d+, mis otsib ühte või mitut järjestikust numbrit). Väljale Testitav tekst lisatakse tekst, mille peal mustrit testitakse.

Kui sisestatud regulaaravaldise süntaks on vigane, kuvab tööriist veateate "Vigane regulaaravaldis.". Kui muster on korrektne, kuid testitavas tekstis sobivusi ei leidu, kuvatakse teade "Vasteid ei leitud.". Kasutaja saab sisestusväljad igal ajal tühjendada, vajutades nupule "Tühjenda", misjärel kuvatakse teade "Tühjendatud.".

Regulaaravaldise lippude mõju ja käitumine

Regulaaravaldise käitumist mõjutavad oluliselt valitud lipud, mis määravad otsingu ulatuse ja reeglid. Tööriistas on saadaval neli peamist JavaScripti lippu:

  • g (Globaalne): Otsib üles kõik vasted tekstis, mitte ainult esimese. Kui seda lippu pole valitud, tagastatakse ainult kõige esimene leitud vaste.
  • i (Tõstutundetu): Ignoreerib otsingul suur- ja väiketähtede erinevust.
  • m (Mitrerealine): Muudab sümbolite ^ ja $ käitumist nii, et need vastavad iga üksiku rea algusele ja lõpule, mitte kogu sisestatud tekstisõne algusele ja lõpule.
  • s (Punkt vastab reavahetusele): Võimaldab punktil (.) vastata ka reavahetuse sümbolitele, mis tavapäraselt jäetakse punktiga vastendamisel vahele.

Vastete ja püüdegruppide tõlgendamine

Tööriist pakub visuaalset tagasisidet, kuvades sektsioonis Esiletõstetud vasted testitava teksti koos värviliselt märgistatud sobitustega. Sektsioonis Vasted kuvatakse detailne nimekiri igast leitud tulemusest.

Kui regulaaravaldis sisaldab sulgudega määratletud püüdegruppe, eraldatakse need tulemustes tähistusega Grupp {n} (kus {n} on grupi järjekorranumber), võimaldades näha täpselt, millised teksti osad konkreetsetesse gruppidesse püüti. Lisaks kuvatakse liideses statistilised andmed, nagu Vasteid: {count} ja testitava teksti pikkus kujul Märke.

Suurte tekstide ja globaalse otsingu puhul kehtivad järgmised piirangud:

  • Globaalse lipu (g) kasutamisel tagastatakse maksimaalselt 1 000 vastet.
  • Visuaalselt kuvatakse maksimaalselt 100 vastete kaarti.
  • Kui vasteid on rohkem, kui kuvamispiirang lubab, ilmub märge "Kuvatakse esimesed {max} vastet.".

Jõudlus ja katastroofiline tagasivõtmine

Üks sagedasemaid probleeme regulaaravaldiste kirjutamisel on ebaefektiivsed mustrid, mis võivad põhjustada katastroofilist tagasivõtmist (inglise keeles catastrophic backtracking). See juhtub tavaliselt siis, kui muster sisaldab üksteise sisse pesastatud kordusi (näiteks (a+)+), mis sunnib otsingumootorit sobimatuse korral läbi vaatama eksponentsiaalselt palju erinevaid kombinatsioone.

Sellised mustrid võivad veebibrauseri vahekaardi täielikult külmutada. Selle vältimiseks on tööriistal sisseehitatud ajapiirang: kui mustri käitamine võtab aega rohkem kui 2 sekundit, katkestatakse protsess automaatselt ja kuvatakse hoiatus: "Selle mustri käitamine võtab liiga kaua aega – see võib olla katastroofiliselt aeglane. Proovige seda lihtsustada.".

Privaatsus ja andmetöötlus

Andmete turvalisus on tundliku teksti testimisel kriitilise tähtsusega. Selle tööriista puhul toimub kogu mustrite testimine ja tekstianalüüs otse kasutaja veebibrauseris. Sisestatud mustreid ega testitavaid tekste ei laadita BroBroGo serverisse.


Korduma kippuvad küsimused

Kas oma teksti siia kleepimine on turvaline?

Jah. Vastendamine toimub täielikult teie brauseris – BroBroGo serveritesse ei saadeta midagi.

Mida tähendavad lipud g/i/m/s?

g leiab kõik vasted, mitte ainult esimese. i ignoreerib tõstutundlikkust. m paneb sümbolid ^ ja $ vastama iga rea algusele ja lõpule, mitte ainult kogu sõne omale. s võimaldab punktil (.) vastata ka reavahetustele.

Miks sain teate, et minu mustri käitamine võtab liiga kaua aega?

Mõned mustrid võivad põhjustada katastroofilist tagasivõtmist (catastrophic backtracking) – mootor proovib enne loobumist eksponentsiaalselt palju kombinatsioone, mis võib brauseri vahekaardi külmutada. See tööriist katkestab vastendamise 2 sekundi pärast, et leht ise ei hanguks. Proovige lihtsustada pesastatud kordusi nagu (a+)+.