Tärkeimmät kohdat
- 01Tester käyttää selaimesi omaa JavaScript RegExp -moottoria, joten tulokset vastaavat tarkalleen sitä, mitä Node.js tai moderni selain tuottaa tuotannossa.
- 02Kaikki kuusi JavaScript-lippua (g, i, m, s, y, u) ovat käytettävissä yksitellen.
- 03Korvausmallit tukevat $1, $2, $& ja $$ tehokkaasti korvausten esikatseluissa.
- 04Mitään ei lähetetä palvelimelle — kuviot ja testlauseet pysyvät kokonaan selaimessasi.
Miksi omistettu Regex Tester päihittää IDE:täsi
Säännöllisiä lausekkeita ovat tehokkaita mutta tunnetusti vaikeita lukea yhdellä silmäyksellä. Jopa kokeneet kehittäjät törmäävät yllätöksiin: piste, joka nielee rivinvaihdot, ahne määrittäjä, joka kuluttaa liian paljon, tai sieppausryhmä, joka on yhden päässä. Omistettu tester riisuu ympäröivän koodin pois, jotta voit iteroida vain kuviota ja syötelausetta kerralla.
Handytool:in regex tester arvioi kuvioita selaimesi alkuperäisellä ECMAScript RegExp -moottorilla, mikä tarkoittaa, että käännöskerrosta ei ole ja makua ei ole. Jos tester sanoo, että se vastaa, myös JavaScript-koodisi tekee. Muuta liput, liitä uusi näyteotos ja tulokset päivittyvät hetkessä — ei suorituspainiketta vaatii.
Kuinka testata Regex-kuviota
Koko työnkulku kestää alle minuutin.
- 01
Liitä tai kirjoita kuviosi
Syötä säännöllinen lausekkeesi kuvio-kentällään. Jätä ympäröivät viivat pois — liput asetetaan erikseen.
- 02
Aseta liput
Vaihda g, i, m, s, y ja u yksitellen. Globaali lippu tarvitaan lähes aina moniosuma-tapauksissa.
- 03
Liitä testitekstiäsi
Lisää teksti, jonka haluat vastaa. Jokainen näppäimen paina suorittaa kuvion uudelleen ja korostaa osumia syötteessä.
- 04
Tarkista sieppausryhmät
Selaa osumien luetteloa nähdäksesi jokaisen osuman sijainnin ja jokaisen numeroidun sieppausryhmän arvon.
- 05
Esikatsele korvaus
Syötä korvausmalli käyttämällä $1, $2 tai $& nähdäksesi korvattu tulostettu elävällä — loistava kokeiltaessa String.replace() -kutsua ennen sen kirjoittamista.
Nopea Regex-virheenkorjaustarkistuslista
Ennen kuin oletetaan bugi, käy nämä läpi:
- 01Onko globaali lippu otettu käyttöön, jos odotat enemmän kuin yhtä osumaa?
- 02Pitäisikö pisteiden vastata rivinvaihdoita? Ota s-lippu käyttöön, jos näin on.
- 03Käytätkö numeroituja ryhmiä ($1, $2) vai nimettyjä ryhmiä (\k<name>) korvauksessa?
- 04Käyttääkö kuvio Unicode-escape-koodeja (\p{…})? Vaatii u-lipun.
- 05Tarvitseeko sticky-lippu (y) uuden lastIndex-indeksin jokaiselle osumalle?
Yksityinen suunnittelu
Regex tester tekee nolla verkkopyyntöä, kun kirjoitat. Kuviosi ja testilauseet käsitellään kokonaan selaimesi JavaScript-moottorilla — ne eivät koskaan kosketa palvelinta. Se tekee sen turvalliseksi liittää omia lokirivejä, sisäisiä API-kuormia tai herkkiä lauseita virheenkorjauksen aikana.
Koska taustaa ei ole mukana, myöskään ei ole nopeusrajoitusta, tiliä ei vaadittu, eikä liitoslain kokoa rajoitusta selaimen välilehden hallitsemisen ulkopuolella. Useimmat jokapäiväiset kuviot ja lauseet arvioidaan alle millisekunnissa.
Regex Tester FAQ
Mitä regex-makua tämä tester käyttää?
JavaScript (ECMAScript). Kuviot arvioidaan selaimen alkuperäisellä RegExp-moottorilla, vastaavat Node.js ja nykyisen selainten toiminta tarkalleen. Lookbehinds, nimetyt ryhmät ja Unicode-ominaisuuden escape-koodit (\p{…} u-lipun kanssa) kaikki tuetaan.
Jättääkö kuviini tai testilauseeseeni sivun?
Ei. Kaikki toimii paikallisesti selaimessasi — mitään verkkopyyntöjä ei tehdä, kun kirjoitat kuviota, muutat liput tai esikatselet korvausta.
Kuinka käytän sieppausryhmiä korvauskentässä?
Käytä $1, $2, … numeroitetuille ryhmille, $& koko osumalle ja $$ siihen liittävän dollarinmerkin kirjoittamiseksi. Esikatselu päivittyy elävällä, kun muutat joko kuviota tai mallia.
Toimiiko tämä Python- tai PCRE-kuvioille?
Moottori on JavaScript, joten useimmat perus kuviot käyttäytyvät identtisesti, mutta Python-tyyppi (?P<name>…) nimetyt ryhmät ja possessive-määrittäjät eivät ole tuettuja. Käytä JS-vastaavuuksia — (?<name>…) nimetyille ryhmille.
Miksi regex ei vastaa useiden rivien välillä?
Ota s (dot-all) -lippu käyttöön tai korvaa . [\s\S]:llä. Ilman sitä piste vastaa mitä tahansa merkkiä paitsi rivinvaihto.