Regex-tester

Test regulære udtryk i JavaScript mod en eksempeltekst, direkte i din browser.

Mønster
Flag
Test-streng
Fremhævede matches
Indtast et mønster for at teste det.

Dit mønster og din tekst testes i din browser. Intet uploades til BroBroGo.

FAQ

Er det sikkert at indsætte min tekst her?

Ja. Matchning sker udelukkende i din browser – intet sendes til BroBroGo.

Hvad betyder flagene g/i/m/s?

g finder alle matches i stedet for kun det første. i ignorerer store og små bogstaver. m gør, at ^ og $ matcher starten og slutningen af hver linje i stedet for kun hele strengen. s lader . også matche linjeskift.

Hvorfor stod der, at mit mønster tager for lang tid?

Nogle mønstre udløser katastrofal backtracking – regex-motoren prøver et eksponentielt antal kombinationer, før den giver op, hvilket kan fryse en fane i browseren. Dette værktøj afbryder matchningen efter 2 sekunder, hvis det sker, så selve siden aldrig låser. Prøv at forenkle indlejrede gentagelser som (a+)+.

Test af regulære udtryk i JavaScript

Regulære udtryk, ofte forkortet som regex, er mønstre, der bruges til at matche tegnkombinationer i strenge. I webudvikling og programmering er de afgørende til opgaver som validering af input, søgning i tekst og manipulation af data.

Denne Regex-tester gør det muligt at teste JavaScript-regulære udtryk direkte i din webbrowser. Værktøjet fremhæver alle matches og capture-grupper med det samme, hvilket gør det nemt at analysere, hvordan dit mønster interagerer med forskellige tekstinput.

Inputparametre og konfiguration

For at teste et regulært udtryk skal du angive tre primære input i værktøjet:

  • Mønster: Det regulære udtryk, du vil teste. Et eksempel på et mønster er \d+, som matcher et eller flere tal.
  • Flag: Indstillinger, der ændrer, hvordan mønstret søger i teksten.
  • Test-streng: Den tekst, som du vil teste dit mønster mod. Standardteksten i værktøjet er "Indsæt eller skriv tekst for at teste dit mønster mod den".

De fire regex-flag

Flagene ændrer søgeadfærden for dit mønster på følgende måde:

  • g (Global): Finder alle matches i teksten i stedet for kun at stoppe efter det første match. Hvis dette flag ikke er valgt, returneres kun det allerførste match.
  • i (Ignorer store/små bogstaver): Gør søgningen ufølsom over for store og små bogstaver.
  • m (Multiline): Ændrer adfærden for ankertegnene ^ (start) og $ (slut), så de matcher starten og slutningen af hver enkelt linje i stedet for kun starten og slutningen af hele tekststrengen.
  • s (Punktum matcher linjeskift): Gør det muligt for punktum-metategnet . også at matche linjeskift, hvilket normalt ikke er tilfældet.

Tolkning af resultater og begrænsninger

Når du indtaster dit mønster og din test-streng, beregner værktøjet resultatet med det samme og viser følgende output:

  • Fremhævede matches: Test-strengen vises, hvor alle fundne matches er visuelt fremhævet.
  • Matches: En liste over de specifikke resultater. Hvis dit mønster indeholder parenteser til at fange delmængder af teksten, vil disse blive vist som Gruppe {n} under det enkelte match.
  • Matches: {count}: En tæller, der viser det samlede antal fundne matches.
  • Tegn: Viser det samlede antal tegn i din test-streng.

Særlige regler og begrænsninger i visningen

For at sikre stabil ydeevne i browseren arbejder værktøjet med visse begrænsninger og fejlmeddelelser:

  • Hvis mønstret ikke matcher noget i teksten, vises beskeden "Ingen matches.".
  • Hvis du skriver et mønster med syntaksfejl, viser værktøjet fejlen "Ugyldigt regulært udtryk.".
  • Når det globale flag (g) er aktiveret, finder værktøjet maksimalt 1.000 matches og genererer højst 100 match-kort i resultatlisten. Hvis grænsen overskrides, vises beskeden "Viser de første {max}.".
  • Du kan nulstille alle felter ved at klikke på knappen "Ryd", hvorefter beskeden "Ryddet." vises.

Forebyggelse af katastrofal backtracking

En af de største faldgruber, når man skriver regulære udtryk, er performance-problemer forårsaget af ineffektive mønstre. Dette fænomen kaldes katastrofal backtracking.

Det opstår typisk, når et mønster indeholder indlejrede eller overlappende gentagelser (f.eks. mønstre i stil med (a+)+). Hvis teksten næsten matcher, men fejler til sidst, vil regex-motoren forsøge at afprøve et eksponentielt antal kombinationer for at finde en gyldig vej. Dette kan få browseren til at fryse fuldstændigt.

For at beskytte din browser mod at låse, har denne tester en indbygget tidsgrænse. Hvis en match-proces tager mere end 2 sekunder, afbrydes kørslen automatisk, og værktøjet viser fejlmeddelelsen: "Dette mønster tager for lang tid at køre – det kan være katastrofalt langsomt. Prøv at forenkle det.". Hvis du møder denne fejl, bør du optimere dit mønster ved at forenkle eller fjerne overlappende gentagelser.

Privatliv og databehandling

Når du arbejder med følsomme tekstdata eller proprietære mønstre, er det vigtigt at vide, hvor dataene behandles.

Dit mønster og din tekst testes udelukkende lokalt i din egen browser. Der sker ingen overførsel eller upload af dine indtastede data til BroBroGo.


Ofte stillede spørgsmål

Er det sikkert at indsætte min tekst her?
Ja. Matchning sker udelukkende i din browser – intet sendes til BroBroGo.

Hvad betyder flagene g/i/m/s?

  • g finder alle matches i stedet for kun det første.
  • i ignorerer store og små bogstaver.
  • m gør, at ^ og $ matcher starten og slutningen af hver linje i stedet for kun hele strengen.
  • s lader . også matche linjeskift.

Hvorfor stod der, at mit mønster tager for lang tid?
Nogle mønstre udløser katastrofal backtracking – regex-motoren prøver et eksponentielt antal kombinationer, før den giver op, hvilket kan fryse en fane i browseren. Dette værktøj afbryder matchningen efter 2 sekunder, hvis det sker, så selve siden aldrig låser. Prøv at forenkle indlejrede gentagelser som (a+)+.