DevToys Web Pro iconDevToys Web ProBlogg
Vurder oss:
Prøv nettleserutvidelsen:

Tester for regulære uttrykk

Konfigurasjon

Mønster

Teststreng

  • Treff

    Skriv inn et mønster for å se treff

    Erstatt

    Referanse

    Tegnklasser

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

    Ankere

    ^Start på streng/linje
    $Slutt på streng/linje
    \bOrdgrense
    \BIkke-ordgrense

    Escape-tegn

    \tTabulator
    \nLinjeskift
    \rVognretur
    \0Nulltegn
    \xhhHeksadesimalt tegn (f.eks. \xFF)
    \uhhhhUnicode-tegn

    Grupper og referanser

    (abc)Fangende gruppe
    (?:abc)Ikke-fangende gruppe
    (?<name>abc)Navngitt fangende gruppe
    \1Tilbakereferanse til gruppe 1
    \k<name>Tilbakereferanse til navngitt gruppe

    Lookaround

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

    Kvantifikatorer og alternasjon

    a*0 eller flere (grådig)
    a+1 eller flere (grådig)
    a?0 eller 1 (valgfritt)
    a{n}Nøyaktig n ganger
    a{n,}n eller flere ganger
    a{n,m}Mellom n og m ganger
    a*?0 eller flere (lat)
    a+?1 eller flere (lat)
    a|bMatch a eller b

    Erstatning

    $1, $2Innholdet i den fangede gruppen
    $&Hele treffet
    $`Før treff
    $'Etter treff
    $$Bokstavelig $-tegn
    Tekniske detaljer

    Slik fungerer RegEx-testeren

    Hva verktøyet gjør

    Regex-testeren lar deg teste regulære uttrykk mot eksempeltekst i sanntid. Den fungerer både som en regex-feilsøker og en regex-validator, og hjelper utviklere med å bygge, teste og finjustere mønstermatchingsuttrykk. Denne testeren bruker JavaScript RegExp-motoren (ECMAScript), så syntaksen kan avvike fra PCRE, .NET eller Java-regex-motorer. Når du trenger å teste regex på nett, viser dette verktøyet alle treff, fangstgrupper og erstatninger. Verktøyet støtter JavaScript-regex-syntaks, inkludert JavaScript-regex-flagg (g, i, m, s, u): global (g), ikke-skilletegnsensitive (i), multiline (m), dotAll (s) og unicode (u). Det markerer treff i teststrengen, viser fangstgrupper og kan utføre finn-og-erstatt-operasjoner for å forhåndsvise hvordan en regex ville transformere tekst.

    Vanlige bruksområder for utviklere

    Utviklere bruker regex-testere når de bygger valideringsmønstre, parser loggfiler eller henter ut data fra strenger. Testing av regexp-mønstre hjelper med å identifisere kanttilfeller, feilsøke komplekse uttrykk og forstå hvordan ulike flagg påvirker matchingsatferd. Mange utviklere bruker regex-testere til å validere e-postadresser, telefonnumre, URL-er eller andre strukturerte dataformater. Verktøyet er verdifullt ved skjemavalidering, logganalyse eller tekstbehandlingsoppgaver. Regex-testere hjelper også når man lærer regulære uttrykk, siden de viser hvordan mønstre matcher tekst gjennom match-iterasjon og gruppeuthenting. Når du tester regexp med flerslinjet tekst eller spesialtegn, hjelper verktøyet utviklere med å se nøyaktig hva som matches og hvorfor.

    Dataformater, typer eller varianter

    Regex-testere håndterer JavaScript-syntaks for regulære uttrykk, som er basert på Perl-lignende regex med noen forskjeller fra andre regex-motorer. Verktøyet støtter tegnklasser som \dfor sifre, \wfor ordtegn og \sfor mellomrom/whitespace. Det håndterer ankere ( ^, $), kvantifikatorer (*, +, ?) og alternasjon (|). Multiline-flagget påvirker hvordan ^og $matcher, mens dotAll-flagget gjør at .matcher linjeskifttegn. Å forstå regex-atferd for linjeskift er avgjørende for behandling av flerslinjet tekst. For eksempel viser testing av et mønster som /\d-\d-\d/ mot en telefonnummerstreng nøyaktig hvilke deler som matcher. Håndtering av linjeskift i regex avhenger av flagg: mønsteret ^foo.*bar$ matcher "foo\nbar" bare med dotAll-flagget (s), siden .ikke matcher linjeskift som standard. Når du jobber med regex-mønstre for linjeskift, bruk \n for å matche bokstavelige linjeskift, eller \r\n for Windows-linjeavslutninger.

    Vanlige fallgruver og kanttilfeller

    En vanlig feil er å glemme at JavaScript-regex bruker skråstreker som skilletegn, ikke anførselstegn. Et annet problem er å misforstå hvordan global-flagget påvirker matching: uten det returneres bare første treff, men med det finnes alle treff. Håndtering av linjeskift i regex kan være vanskelig: tegnet . matcher ikke linjeskift som standard med mindre dotAll-flagget brukes. Negasjon av tegnklasse med [^...] kan være forvirrende, siden det matcher ethvert tegn som ikke er i klassen. Grådige vs late kvantifikatorer ( *vs *?) oppfører seg forskjellig og kan gi uventede resultater. Lookahead- og lookbehind-assertions ( (?=...), (?&lt;=...)) er kraftige, men kan være vanskelige å feilsøke. Utviklere bør teste regex-mønstre med ulike inndata, inkludert kanttilfeller som tomme strenger, spesialtegn og unicode-tegn.

    Når du bør bruke dette verktøyet vs. kode

    Bruk denne regex-testeren for rask mønsterutvikling, feilsøking av komplekse uttrykk eller for å lære syntaks for regulære uttrykk. Den er ideell for å teste regex-mønstre før du implementerer dem i kode, spesielt når du jobber med ukjent syntaks eller komplekse mønstre. Den visuelle tilbakemeldingen hjelper med å identifisere hvorfor et mønster matcher eller ikke matcher bestemt tekst. For produksjonskode bør du bruke regex-testere integrert i IDE-er eller enhetstest-rammeverk som kan validere mønstre som en del av testpakken din. Nettleserverktøy er best til interaktiv utvikling og læring, mens kodebaserte løsninger gir automatisering, integrasjon med CI/CD-pipelines og muligheten til å teste mønstre mot store datasett. For komplekse applikasjoner sikrer automatisert regex-testing at mønstre fungerer korrekt på tvers av ulike inndata og kanttilfeller.