DevToys Web Pro iconDevToys Web ProBlog
Bedøm os:
Prøv browserudvidelsen:

Tester til regulære udtryk

Konfiguration

Mønster

Teststreng

  • Match

    Indtast et mønster for at se match

    Erstat

    Reference

    Tegngrupper

    .Ethvert tegn undtagen linjeskift
    [abc]Match a, b eller c
    [^abc]Match alt undtagen a, b, c
    [a-z]Tegnområde (a til z)
    \dCiffer (0-9)
    \DIkke-ciffer
    \wOrdtegn [a-zA-Z0-9_]
    \WIkke-ordtegn
    \sBlanktegn
    \SIkke-blanktegn

    Ankre

    ^Start på streng/linje
    $Slut på streng/linje
    \bOrdgrænse
    \BIkke-ordgrænse

    Escape-tegn

    \tTabulator
    \nLinjeskift
    \rVognretur
    \0Null-tegn
    \xhhHex-tegn (f.eks. \xFF)
    \uhhhhUnicode-tegn

    Grupper og referencer

    (abc)Indfangende gruppe
    (?:abc)Ikke-indfangende gruppe
    (?<name>abc)Navngiven indfangende gruppe
    \1Tilbagereference til gruppe 1
    \k<name>Tilbagereference til navngiven gruppe

    Lookaround

    (?=abc)Positiv lookahead
    (?!abc)Negativ lookahead
    (?<=abc)Positiv lookbehind
    (?<!abc)Negativ lookbehind

    Kvantifikatorer og alternation

    a*0 eller flere (grådig)
    a+1 eller flere (grådig)
    a?0 eller 1 (valgfri)
    a{n}Præcis n gange
    a{n,}n eller flere gange
    a{n,m}Mellem n og m gange
    a*?0 eller flere (doven)
    a+?1 eller flere (doven)
    a|bMatch a eller b

    Erstatning

    $1, $2Indfanget gruppeindhold
    $&Hele match
    $`Før match
    $'Efter match
    $$Bogstaveligt $-tegn
    Tekniske detaljer

    Sådan fungerer RegEx-testeren

    Hvad værktøjet gør

    Regex-testeren giver dig mulighed for at teste regulære udtryk mod eksempeltekst i realtid. Den fungerer både som en regex-debugger og regex-validator og hjælper udviklere med at bygge, teste og forfine mønstermatchende udtryk. Denne tester bruger JavaScripts RegExp-motor (ECMAScript), så syntaksen kan afvige fra PCRE, .NET eller Java-regexmotorer. Når du har brug for at teste regex online, viser dette værktøj alle matches, capture groups og erstatninger. Værktøjet understøtter JavaScript-regexsyntaks, herunder JavaScript-regexflags (g, i, m, s, u): global (g), ikke-følsom for store/små bogstaver (i), multiline (m), dotAll (s) og unicode (u). Det fremhæver matches i teststrengen, viser capture groups og kan udføre find-og-erstat-operationer for at forhåndsvise, hvordan en regex ville transformere tekst.

    Almindelige anvendelsestilfælde for udviklere

    Udviklere bruger regex-testere, når de bygger valideringsmønstre, parser logfiler eller udtrækker data fra strenge. Test af regexp-mønstre hjælper med at identificere kanttilfælde, fejlfinde komplekse udtryk og forstå, hvordan forskellige flags påvirker matchadfærd. Mange udviklere bruger regex-testere til at validere e-mailadresser, telefonnumre, URL'er eller andre strukturerede dataformater. Værktøjet er værdifuldt ved formularvalidering, loganalyse eller tekstbehandlingsopgaver. Regex-testere hjælper også, når man lærer regulære udtryk, da de viser, hvordan mønstre matcher tekst gennem match-iteration og gruppeudtræk. Når du tester regexp med multiline-tekst eller specialtegn, hjælper værktøjet udviklere med at se præcis, hvad der matches, og hvorfor.

    Dataformater, typer eller varianter

    Regex-testere håndterer JavaScripts syntaks for regulære udtryk, som er baseret på Perl-lignende regex med nogle forskelle fra andre regexmotorer. Værktøjet understøtter tegnklasser som \dfor cifre, \wfor ordtegn og \sfor whitespace. Det håndterer ankre ( ^, $), kvantifikatorer (*, +, ?) og alternation (|). Multiline-flaget påvirker, hvordan ^and $matcher, mens dotAll-flaget får .til at matche linjeskiftstegn. Forståelse af regex-adfærd ved linjeskift er afgørende for behandling af multiline-tekst. For eksempel viser test af et mønster som /\d-\d-\d/ mod en telefonnummerstreng præcis, hvilke dele der matcher. Håndtering af linjeskift i regex afhænger af flags: mønsteret ^foo.*bar$ matcher "foo\nbar" kun med dotAll-flaget (s), da .ikke matcher linjeskift som standard. Når du arbejder med regex-mønstre for linjeskift, så brug \ntil at matche bogstavelige linjeskift eller \r\nfor Windows-linjeafslutninger.

    Almindelige faldgruber og kanttilfælde

    En almindelig fejl er at glemme, at JavaScript-regex bruger skråstreger som afgrænsere, ikke anførselstegn. Et andet problem er at misforstå, hvordan global-flaget påvirker matching: uden det returneres kun det første match, men med det findes alle matches. Regex-håndtering af linjeskift kan være tricky: .-tegnet matcher ikke linjeskift som standard, medmindre dotAll-flaget bruges. Negation af tegnklasse med [^...] kan være forvirrende, da den matcher ethvert tegn, der ikke er i klassen. Grådige vs. dovne kvantifikatorer ( *vs *?) opfører sig forskelligt og kan give uventede resultater. Lookahead- og lookbehind-assertions ( (?=...), (?&lt;=...)) er kraftfulde, men kan være svære at fejlfinde. Udviklere bør teste regex-mønstre med forskellige input, herunder kanttilfælde som tomme strenge, specialtegn og Unicode-tegn.

    Hvornår du skal bruge dette værktøj vs. kode

    Brug denne regex-tester til hurtig udvikling af mønstre, fejlfinding af komplekse udtryk eller til at lære syntaksen for regulære udtryk. Den er ideel til at teste regex-mønstre, før du implementerer dem i kode, især når du arbejder med ukendt syntaks eller komplekse mønstre. Den visuelle feedback hjælper med at identificere, hvorfor et mønster matcher eller ikke matcher bestemt tekst. Til produktionskode bør du bruge regex-testere integreret i IDE'er eller unit testing-frameworks, som kan validere mønstre som en del af din test-suite. Browserværktøjer er stærke til interaktiv udvikling og læring, mens kodebaserede løsninger giver automatisering, integration med CI/CD-pipelines og mulighed for at teste mønstre mod store datasæt. Til komplekse applikationer sikrer automatiseret regex-test, at mønstre fungerer korrekt på tværs af forskellige input og kanttilfælde.