Hvad dette Regex Tester gør
Denne danske version af Regex Tester lader dig skrive et JavaScript-regulært udtryk og øjeblikkeligt se, hvilke dele af din tekst der matcher — fremhævet direkte i inputfeltet. Det er et hurtigt alternativ til at sende kode i produktion for at finde ud af, om dit mønster virker. Værktøjet er 100 % klient-side — dine data forlader aldrig din browser. Ingen upload, ingen sporing, ingen serverlogfiler. Det danske alfabet har 29 bogstaver, herunder æ, ø og å, og et regulært udtryk som [a-zA-ZæøåÆØÅ]+ er ofte nødvendigt for korrekt at matche dansk tekst. Du kan teste flags som g, i, m, s, u og y med ét klik og se capture groups — både nummererede og navngivne — med deres værdier og positioner. En sikkerhedsguard forhindrer zero-width-matches i at fryse browseren. Har du brug for at rense eller sammenligne teksten bagefter, kan [text diff](/da/text-diff/)-værktøjet hjælpe dig videre.
Funktioner
- Live fremhævning af matches. Hvert match lyses op i din tekst med det samme, mens du skriver — ingen grund til at klikke på en knap.
- Fuld capture group-inspektion. Se nummererede og navngivne capture groups med eksakte værdier og tegnpositioner for hvert match.
- Flag-toggle med ét klik. Slå
g,i,m,s,uogytil og fra og se straks, hvordan resultatet ændrer sig — nyttigt når du sammenligner flag-kombinationer. - Venlige fejlbeskeder. Ugyldige mønstre giver en klar fejlbesked i stedet for en kryptisk exception — du ved præcis, hvad der gik galt.
- Zero-width-match beskyttelse. Mønstre som
^eller lookarounds kan ellers skabe uendelige loops. En indbygget guard stopper det, før siden fryser. - Privat og offline-klar. Alt kører i din browser via JavaScript's native RegExp-motor. Ingen server, ingen logning, ingen cookies.
Sådan bruger du Regex Tester
Tre trin er normalt nok til at verificere et mønster og forstå, hvad det faktisk fanger.
- Skriv dit regulære udtryk. Indsæt mønstret i regex-feltet, f.eks.
(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})for at matche ISO 8601-datoer. - Indsæt din teststreng. Kopier en repræsentativ tekst — en logfil, en URL, en e-mailadresse — ind i tekstfeltet.
- Slå flags til efter behov. Klik på
ifor case-insensitiv matching ellergfor alle forekomster i stedet for kun den første. - Undersøg capture groups. Nedenfor resultaterne ser du hver gruppe med navn eller nummer, dens værdi og start- og slutposition i strengen.
Typiske anvendelser
- Validér e-mails og URL'er før produktion. Test din regex mod rigtige adresser og edge cases, inden du sender fejlramt validering ud til brugerne.
- Parser logfiler fra servere. Træk IP-adresser, statuskoder eller tidsstempler ud af Apache- eller Nginx-loglinjer med ét mønster og se alle hits fremhævet.
- Debug navngivne capture groups. Kontrollér, at
(?<brugernavn>[\w.]+)fanger præcis det felt, du forventer, inden du kobler det på en parser. - Sammenlign flag-kombinationer hurtigt. Afprøv om tilføjelsen af
mgør^og$til linjeanker i stedet for helstreng-anker — og se forskellen med det samme. - Rens og normaliser dansk tekst. Brug mønstre som
[æøåÆØÅ\w]+til at identificere ord korrekt i dansk indhold. Til videre tekstbehandling kan [case converter](/da/case-converter/) spare dig for manuelt arbejde.
Ofte stillede spørgsmål
Er mine mønstre og tekster private?
Ja. Regex Tester kører udelukkende i din browser — hverken mønstret eller teststrengen sendes til en server. Der er ingen upload, ingen logfiler og ingen sporing af nogen art.
Hvilken regex-motor bruger værktøjet?
Det er JavaScripts native RegExp-motor, som følger ECMAScript-specifikationen. Det betyder, at du ikke får alle PCRE-funktioner — rekursive mønstre findes f.eks. ikke — men alt, hvad Node.js og browsere understøtter, virker præcis som forventet.
Hvad er forskellen på `g`-flaget og ingen flag?
Uden g finder motoren kun det første match og stopper. Med g (global) gennemløbes hele strengen, og alle forekomster returneres. Det er en hyppig fejlkilde, når man forventer alle matches men glemmer flaget.
Hvorfor fryser min side, når jeg bruger `.*`?
Grådige kvantifikatorer som .* kombineret med visse mønstre kan skabe katastrofal backtracking. Zero-width-matches fra ankre og lookarounds kan desuden skabe uendelige loops. Denne tester har en sikkerhedsguard, der afbryder sådanne mønstre, inden browseren går i stå.
Kan jeg bruge navngivne capture groups?
Ja. Syntaksen (?<navn>mønster) virker fuldt ud, og alle navngivne grupper vises med navn, værdi og position i resultatlisten — praktisk, inden du bygger en egentlig parser.
Hvad gør jeg, om mit mønster matcher for meget?
Skift fra grådige (.*) til ikke-grådige kvantifikatorer (.*?), og brug ankre (^, $) til at begrænse, hvad der kan matche. Brug værktøjet til at sammenligne de to varianter side om side med g-flaget slået til.