Regulære udtryk (regex) er kraftfulde mønstre til at finde, matche og udtrække tekst. De bruges i programmering, datavalidering, søg-og-erstat-operationer og loganalyse. Udfordringen er, at regex-syntaks kan være svær at få rigtig. Vores gratis regex-tester lader dig eksperimentere i realtid, så du præcis kan se, hvad dit mønster matcher.
Hvad du skal bruge
- Et mønster du vil teste, eller et tekstmatch-problem der skal løses
- En webbrowser (Chrome, Firefox, Safari eller Edge)
- Ingen konto eller installation nødvendig
Trin-for-trin guide
Åbn regex-testeren
Gå til regex-testeren. Du ser to hovedområder: ét til dit regulære udtryksmønster og ét til den testtekst, du vil matche mod.
Skriv dit regex-mønster
Indtast et regulært udtryk i mønsterfeltet. Start enkelt og byg kompleksitet op. Begynd fx med et bogstaveligt ord som hej for at matche præcis den tekst, og forfin derefter dit mønster med specialtegn for at matche bredere mønstre.
Indtast testtekst
Indsæt eller skriv eksempeltekst i testområdet. Inkludér eksempler, der bør matche, og eksempler, der ikke bør. Værktøjet fremhæver alle matches i realtid, mens du skriver, så du øjeblikkeligt kan se, om dit mønster fungerer korrekt.
Forfin og verificér
Juster dit mønster og se matches opdateres øjeblikkeligt. Tilføj kanttilfælde til din testtekst — usædvanlige input, grænsetilstande og vanskelige formater — for at sikre, at dit regex håndterer dem korrekt. Kopiér mønsteret til din kode eller dit værktøj, når du er tilfreds.
Godt at vide Regex-testeren kører udelukkende i din browser. Ingen data sendes til nogen server, så du kan sikkert teste mønstre mod følsom tekst som mailadresser, logfiler eller persondata.
Grundlæggende regex-syntaks
| Symbol | Betydning | Eksempel |
|---|---|---|
. |
Et vilkårligt tegn | h.t matcher "hat", "hit", "hot" |
* |
Nul eller flere af det forrige | ab*c matcher "ac", "abc", "abbc" |
+ |
Én eller flere af det forrige | ab+c matcher "abc", "abbc" men ikke "ac" |
? |
Nul eller én af det forrige | colou?r matcher "color" og "colour" |
\d |
Et tal (0-9) | \d{3} matcher "123", "456" |
\w |
Et ordtegn | \w+ matcher "hej", "test123" |
\s |
Vilkårlig mellemrumskarakter | hej\sverden matcher "hej verden" |
^ |
Start af streng | ^Hej matcher "Hej verden" |
$ |
Slutning af streng | verden$ matcher "Hej verden" |
[abc] |
Et vilkårligt tegn i sættet | [aeiou] matcher enhver vokal |
(...) |
Fangsgruppe | (ab)+ matcher "ab", "abab" |
Almindelige mønstre du kan prøve
Kopiér disse mønstre ind i regex-testeren og eksperimentér med dem.
Mailadresse
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
Matcher standard mailformater som bruger@eksempel.dk og fornavn.efternavn@firma.co.uk. Test det med både gyldige og ugyldige mailformater for at se, hvordan det håndterer kanttilfælde.
URL
https?://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(/[^\s]*)?
Matcher HTTP- og HTTPS-URL'er som https://eksempel.dk og http://side.org/sti/side. s? gør "s" i "https" valgfrit.
Telefonnummer (dansk format)
(\+45[-.\s]?)?(\d{2}[-.\s]?){3}\d{2}
Matcher forskellige danske telefonnummerformater: 12 34 56 78, +45 12345678, 12-34-56-78 og lignende variationer.
Tip Når du bygger et regex, bør du starte med det enkleste mønster, der matcher din måltekst, og derefter tilføje begrænsninger én ad gangen. At forsøge at skrive et komplekst regex på én gang er meget sværere end at bygge det incrementalt, mens du ser matches opdateres i realtid.
Almindelige fejl og hvordan du undgår dem
Glemmer at escape specialtegn. Tegn som ., *, +, ?, (, ), [, ], {, } har speciel betydning i regex. For at matche dem bogstaveligt skal du sætte en omvendt skråstreg foran: \. matcher et punktum, \( matcher en parentes.
At være for grådig. Som standard matcher * og + så meget tekst som muligt. Hvis du vil have den korteste match, skal du tilføje ? efter dem: .*? matcher så lidt som muligt.
Ikke at forankre dit mønster. Uden ^ og $ vil et mønster som \d{3} matche tre på hinanden følgende cifre overalt i strengen, inklusiv inde i længere tal. Brug ankre, når du skal matche hele strengen.
Vigtigt Regex-syntaks varierer lidt mellem programmeringssprog og værktøjer. Et mønster, der fungerer i JavaScript, kan opføre sig anderledes i Python eller PHP. Test altid dit endelige mønster i det sprog eller den miljø, du vil bruge det i.
Ofte stillede spørgsmål
Hvad er regex-flag?
Flag ændrer, hvordan mønsteret anvendes. Almindelige flag inkluderer g (global — find alle matches, ikke kun det første), i (case-insensitiv) og m (multiline — ^ og $ matcher linjegrænser, ikke kun strenggrænser). Regex-testeren lader dig skifte disse flag.
Kan jeg bruge regex til søg og erstat?
Ja. De fleste teksteditorer og programmeringssprog understøtter regex-baseret find og erstat. Fangsgrupper (...) lader dig referere til matchet tekst i erstatningsstrengen.
Hvordan matcher jeg på tværs af flere linjer?
Brug s-flaget (dotall) til at få . til at matche nylinjetegn, eller brug [\s\S] som et tværplatform-alternativ, der matcher ethvert tegn inklusiv nye linjer.
Næste skridt
Nu hvor du kan bygge og teste regex-mønstre, kan du prøve at bruge dem i din kode, teksteditor eller kommandolinjeværktøjer. Til andre udviklerværktøjer kan du tjekke cron-parseren til planlægningsudtryk eller JSON Formatter til arbejde med strukturerede data.