Test regulære uttrykk

Test JavaScript-regex mot egen tekst, velg vanlige flagg og se treff, startposisjon og fangstgrupper. Langvarige tester stoppes automatisk.

Flagg

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
  • \d matcher et siffer
  • \s matcher 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.

Vanlige spørsmål

Hvilken regex-variant bruker verktøyet?

Det bruker RegExp-motoren i JavaScript-nettleseren din. Syntaks fra andre språk kan være forskjellig.

Hvorfor blir enkelte tester stoppet?

Noen mønstre kan bruke svært lang tid. Testen kjøres separat og stoppes etter omtrent ett sekund for å holde siden responsiv.

Resultatet er veiledende. Se metode og kvalitetsprinsipper.