CodeKitHub
Tekstverktøy

Regex-tester på nett

Sist oppdatert:

En regex-tester lar deg skrive et regulært uttrykk og se det matche ekte tekst øyeblikkelig, med fangstgrupper og flagg synlige mens du skriver — denne kjører JavaScript-motoren beskrevet i MDNs guide til regulære uttrykk, samme syntaks som brukes av Node.js og alle nettlesere. Perfekt for å bygge og feilsøke mønstre før du legger dem inn i kode.

//

    Hva er dette verktøyet?

    Et regulært uttrykk (regex) er et kompakt mønsterspråk for å finne, validere og trekke ut tekst: et e-postmønster kan validere skjemainndata, \d{4}-\d{2}-\d{2} finner datoer, og fangstgrupper trekker ut de delene du trenger. Nesten alle programmeringsspråk og redigeringsverktøy støtter regex.

    Denne testeren bruker JavaScripts regex-motor — den samme som kjører i Node.js og alle nettlesere — så mønstre du bygger her fungerer identisk i JavaScript/TypeScript-koden din. De fleste mønstre fungerer også uendret i Python, Java og Go.

    Hvorfor bruke det?

    • Live tilbakemelding: treff markeres i gult mens du skriver mønsteret.
    • Fangstgrupper vises per treff — se nøyaktig hva $1 og $2 vil inneholde.
    • Full flaggstøtte: g (alle treff), i (ignorer store/små bokstaver), m (flerlinje), s (punktum matcher linjeskift), u (unicode).
    • Tydelige feilmeldinger når mønsteret har en syntaksfeil.
    • Gratis og privat — mønster og tekst forlater aldri nettleseren din.

    Slik bruker du det

    1. Skriv mønsteret ditt mellom de to /-tegnene (ingen behov for å escape skråstreker selv).
    2. Juster flagg i den lille boksen etter det andre /-tegnet — standarden g finner alle treff.
    3. Lim inn testteksten din nedenfor.
    4. Treff markeres umiddelbart; fangstgrupper listes opp under.
    5. Hvis mønsteret er ugyldig, forklarer feilmeldingen hva som er galt.

    Eksempel

    Inndata

    Mønster: (\w+)@(\w+)\.com
    Testtekst: Kontakt alice@example.com eller bob@test.com

    Resultat

    ✓ 2 treff
    #1 grupper: $1=alice  $2=example
    #2 grupper: $1=bob  $2=test

    Parentesene lager fangstgrupper du kan referere til som $1 og $2 i erstatninger.

    Praktiske tips

    • Validerer du en e-post-inndata? ^[^\s@]+@[^\s@]+\.[^\s@]+$ er et tolerant mønster som fanger opp åpenbare skrivefeil uten å avvise gyldige, men uvanlige adresser — full RFC 5322-samsvar krever et bibliotek, ikke en enkeltlinje.
    • Trekke ut spørreparametre fra en URL: [?&]([^=]+)=([^&]*) med g-flagget, og les deretter $1/$2 per treff i stedet for å dele manuelt på & og =.
    • Skal du bruke et mønster i .replace()? Test det her først — det som markeres er nøyaktig det .replace() vil berøre, inkludert fangstgrupper.
    • Analyserer du flerlinjelogger (matcher et tidsstempel i starten av hver linje)? Legg til m-flagget slik at ^ og $ ankrer per linje i stedet for hele strengen.
    • Kopierte du et mønster fra Python eller PHP, og det matcher ikke her? Sjekk om det bruker (?P<navn>...) navngitte grupper — JavaScript bruker (?<navn>...), uten P — eller possessive kvantorer (++, *+), som ikke finnes i JavaScript-regex.

    En JavaScript-regex-tester, ikke en generisk en

    Dette verktøyet kjører JavaScripts innebygde RegExp-motor — den nøyaktige kodebanen bak str.match(mønster) eller mønster.test(str) i en nettleserkonsoll eller Node.js. Det er annerledes enn å teste mot PCRE (som PHP bruker, og som mange «universelle» regex-testere har som standard) eller Python sin re-modul: JavaScript har ingen possessive kvantorer eller atomiske grupper, og navngitte fangstgrupper bruker (?<navn>...) i stedet for PCRE/Pythons (?P<navn>...).

    Skal du snart bruke et mønster i JS eller TypeScript — skjemavalidering, en rutematcher, en loggparser — betyr testing her at det blir null avvik: det som markeres på denne siden er nøyaktig det new RegExp(mønster, flagg) matcher ved kjøring.

    Hvor dette passer inn i ekte arbeidsflyter

    En regex-test skjer sjelden alene. Den vanlige sekvensen: bekreft mønsteret her, kjør den faktiske .replace() i koden din, og sammenlign deretter teksten før/etter for å sikre at erstatningen gjorde det du forventet og ikke noe mer.

    Å trekke ut strukturert data med fangstgrupper går ofte rett videre til JSON — formater det uttrukne resultatet for å sjekke at det ble tolket slik du forventet.

    Tekstdiff · JSON-formatering

    Ofte stilte spørsmål

    Hvilken regex-variant bruker denne testeren?

    JavaScript (ECMAScript), motoren i alle nettlesere og Node.js. Kjernesyntaksen er overførbar, men enkelte funksjoner skiller seg mellom språk — f.eks. varierer støtte for lookbehind og navngitt gruppe-syntaks i Python og Java.

    Hvorfor finner mønsteret mitt bare det første treffet?

    g-flagget (global) mangler. Uten g stopper et regex-uttrykk etter første treff. Dette verktøyet bruker g som standard — sjekk at du ikke har fjernet det.

    Hvorfor matcher ikke . linjeskiftene mine?

    Som standard matcher . ethvert tegn unntatt linjeskift. Legg til s-flagget (dotall) for å få . til å matche linjeskift også, eller bruk [\s\S] som et overførbart alternativ.

    Hva betyr resultatene for fangstgruppene?

    Hvert parentespar i mønsteret ditt fanger teksten det matchet. $1 er den første gruppen, $2 den andre, og så videre — dette er det du refererer til i erstatnings- og uttrekkskode.

    Hvorfor er regex-uttrykket mitt tregt eller fryser?

    Sannsynligvis katastrofal tilbakesporing, forårsaket av nøstede kvantorer som (a+)+ på tekst som ikke matcher. Skriv om mønsteret for å unngå tvetydig repetisjon. Dette verktøyet setter et tak på 1000 treff for å holde seg responsivt.

    Relaterte verktøy