Test regulære uttrykk i nettleseren
Et regulært uttrykk, ofte kalt regex eller regexp, beskriver et mønster for tekstsøk. Regex brukes blant annet til å finne, validere, dele opp og erstatte tekst i kode, redigeringsprogrammer og kommandolinjeverktøy. Denne testeren kjører JavaScript-regex mot teksten du skriver og viser treff, startposisjon og eventuelle fangstgrupper.
Slik bruker du regex-testeren
Skriv mønsteret uten skråstrekene som ofte omgir regex i kildekode. For å teste /\d+/g skriver du altså \d+ i mønsterfeltet og velger globalt søk. Lim deretter inn testteksten og trykk på «Test regulært uttrykk».
Resultatet viser hvert treff og posisjonen der det starter. Hvis mønsteret har parentesgrupper, vises gruppenes innhold. Med globalt søk finner verktøyet opptil 1 000 treff. Uten g-flagget vises bare det første.
Vanlige tegn og flagg
Noen grunnleggende byggesteiner er:
.matcher normalt ett vilkårlig tegn\dmatcher et siffer\smatcher blanktegn^og$markerer begynnelse og slutt*,+og?styrer hvor mange ganger noe kan forekomme- parenteser lager en gruppe, mens hakeparenteser lager en tegnklasse
Flagget i ignorerer forskjell på store og små bokstaver. m lar ^ og $ arbeide ved hver linje. s lar punktum matche linjeskift. u bruker Unicode-modus. JavaScript har flere regex-funksjoner enn denne enkle velgeren viser, og syntaksen kan variere mellom programmeringsspråk.
Eksempel
Mønsteret \b[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}\b finner mange vanlige e-postlignende tekststrenger. Det er nyttig for søk, men er ikke en fullstendig garanti for at adressen finnes eller kan motta e-post. Regex kontrollerer bare tekstformen du beskriver.
For bokstaver på tvers av språk kan Unicode-egenskaper som \p{L} brukes sammen med u-flagget i nettlesere som støtter syntaksen. Test alltid mønsteret med både forventede treff og tekst som ikke skal godtas.
Ytelse og sikkerhet
Enkelte mønstre kan bruke svært lang tid på bestemte tekster, særlig når flere tvetydige gjentakelser ligger inni hverandre. Testeren kjører derfor mønsteret i en separat nettleserarbeider og stopper forsøket etter omtrent ett sekund. Mønsteret er begrenset til 500 tegn og testteksten til 50 000 tegn.
Dette gjør verktøyet tryggere å prøve i, men beviser ikke at et mønster er trygt å bruke på vilkårlig inndata i en server. Vurder lengdegrenser, tidsavbrudd og den aktuelle regex-motoren i produksjon. Verktøyet følger JavaScript-motoren i nettleseren; et mønster for Python, Java, PCRE eller .NET kan oppføre seg annerledes. Bruk tekst-sammenligneren for linjebaserte endringer eller JSON-formattereren når problemet er JSON-syntaks fremfor fritekstsøk.