Regex Tester
Test og feilsøk regulære uttrykk umiddelbart i nettleseren din. Fremhev treff, se opptaksgrupper og bruk erstatningsmodus – gratis og privat.
Test og feilsøk regulære uttrykk umiddelbart i nettleseren din. Fremhev treff, se opptaksgrupper og bruk erstatningsmodus – gratis og privat.
Regulære uttrykk er et domenespesifikt språk for å matche mønstre i tekst. De har vært en del av databehandling siden 1968 og er nå innebygd i alle moderne programmeringsspråk, tekstredigeringsverktøy og kommandolinjesøkeverktøy. Syntaksen er kortfattet, men utsatt for feil: små endringer produserer subtilt forskjellig matchatferd, og komplekse uttrykk blir raskt uleselige. En tester som viser treff i sanntid mens du redigerer mønsteret er den mest effektive måten å utvikle og verifisere regulært uttrykk på.
Denne testeren kjører i nettleseren din ved hjelp av JavaScript-regex-motoren (den samme applikasjonen din bruker hvis den kjører i en nettleser). Mønstre og testtekst oppdateres reaktivt: hver endring av begge kjører kampen på nytt. Matchgrupper utheves, fangede grupper er oppført, og flagg (uavhengig av store og små bokstaver, multiline, global) blir eksponert for testing.
Regex-syntaksen varierer subtilt mellom motorer. JavaScript følger ECMAScript-spesifikasjonen; Python, PCRE (brukt av PHP og mange andre), Java og Go har hver sine dialekter med overlappende, men ikke identiske funksjoner. Mønstre utviklet her bruker ECMAScript-syntaks; portabilitet på tvers av motorer krever at du sjekker hvert måls dokumentasjon.
Regex-feil er notorisk vanskelig å feilsøke etter distribusjon. Et mønster som ser rimelig ut kan matche mer eller mindre enn tiltenkt, mislykkes på kantsaker, eller ha katastrofal tilbakesporing på visse innganger. Å teste mønstre interaktivt mot representativ input fanger opp problemer før kodegjennomgang og produksjon.
Mønstre har også nytte av dokumentasjon. Å vise et regulært uttrykk ved siden av inndata det skal samsvare med og inndata det ikke skal samsvare med, gjør intensjonen eksplisitt. Fremtidige vedlikeholdere (inkludert deg selv om seks måneder) setter mer pris på dokumenterte testtilfeller enn de setter pris på smarte one-liners.
Skriv inn et mønster, skriv testinndata, se kamper uthevet live.
JavaScript-regex følger ECMAScript-spesifikasjonen. Hovedfunksjoner: tegnklasser ([abc], [^abc]), kvantifiserere (*, +, ?, {n,m}), alternering (|), gruppering ((...)), fange- og ikke-fangende grupper, lookahead og lookbehind (moderne motorer), tilbakereferanser, navngitte grupper, Unicode-egenskapene unnslipper (med u-flagg) og standardsekvensene.
Viktige forskjeller fra PCRE og Python: lookbehind-støtte er nylig i JavaScript (2018+); navngitte grupper bruker (?<navn>...) syntaks; noen Unicode-escapes krever at u-flagget fungerer som det skal. Mønstre beregnet på tverrspråklig bruk bør kontrolleres mot hvert måls dokumentasjon.
Ytelse: tilbakesporingsbaserte regex-motorer (de fleste inkludert JavaScript) kan ha katastrofal tilbakesporing på visse patologiske mønstre. Tester som henger testeren er et tegn på at mønsteret trenger forenkling - typisk ved å unngå nestede kvantifiserere og tvetydig veksling.