Toolbox Hub
Alle gereedschappen

Regex Tester

Test regular expressions

Test regular expressions Wordt lokaal uitgevoerd in uw browser

About the

De Regex Tester voert een reguliere JavaScript-expressie uit op uw eigen voorbeeldtekst en markeert elke overeenkomst terwijl u typt, zodat u kunt zien hoe een patroon slaagt of mislukt in plaats van te raden. Naast de hoogtepunten vermeldt het elke wedstrijd met zijn startpositie en zijn veroveringsgroepen, wat het deel is dat je feitelijk vertelt of groep 2 de gewenste waarde is of een lege string. Drie fouten veroorzaken de meeste defecte regexes, en ze zijn hier alle drie zichtbaar: een hebzuchtige kwantor die stilletjes meer tekst inslikt dan de bedoeling was, een punt zonder escapecodes dat met alles overeenkomt, en een ontbrekende globale vlag die het zoeken stopt na de eerste treffer.

Where people use the

  • Foutopsporing in een patroon voor het parseren van logboeken aan de hand van een handvol echte logboekregels.
  • Een telefoon- of postcoderegel uitwerken voordat u deze in een formulier aansluit.
  • Bestelnummers of ID's uit een geplakt tekstblok halen.
  • Leren hoe kwantoren zich gedragen door één karakter te veranderen en de hoogtepunten te zien bewegen.

How to use the

  1. 1

    Plak de tekst die u wilt testen

    Gebruik een echt monster in plaats van een verzonnen exemplaar. De randgevallen in uw werkelijke gegevens doorbreken het patroon, dus neem ook een lijn op die niet mag overeenkomen.

  2. 2

    Schrijf het patroon

    Voer de uitdrukking in zonder de omringende schuine strepen, bijvoorbeeld [a-z]+ in plaats van /[a-z]+/. Vlaggen zijn afzonderlijke schakelaars.

  3. 3

    Schakel vlaggen in of uit

    g vindt elke overeenkomst in plaats van te stoppen bij de eerste, i negeert hoofdletters en kleine letters, m zorgt ervoor dat ankers per regel werken, s laat een punt nieuwe regels omspannen, u schakelt de volledige Unicode-modus in en y verankert overeenkomsten aan de laatsteIndex.

  4. 4

    Lees de wedstrijdtabel

    Elk resultaat toont de overeenkomende tekst, de tekenverschuiving en elke vastgelegde groep. Een onverwachte lege groep betekent meestal dat een optionele kwantor met niets overeenkomt.

  5. 5

    Kopieer het voltooide patroon

    Wanneer de highlights er goed uitzien, kopieert u de uitdrukking en plakt u deze in uw code. Vergeet niet om de vlaggen ook naar de andere kant te dragen.

Tips en beste praktijken

  • Test één regel per patroon. Een regex die drie taken uitvoert, is onleesbaar en onmogelijk te debuggen.
  • Voeg een regel toe die niet mag overeenkomen en bevestig dat deze niet gemarkeerd blijft.
  • Geef de voorkeur aan benoemde groepen zoals jaar, maand, dag boven genummerde groepen, zodat het patroon nog steeds iets betekent als u er volgende maand naar terugkeert.

Veelgestelde vragen

Welke regex-smaak wordt hier gebruikt?

JavaScript, via de eigen RegExp-engine van de browser. De syntaxis ligt dicht bij de re-module van PCRE en Python, maar is niet identiek. Benoemde groepen, lookahead, lookbehind en Unicode-eigenschappen ontsnappen aan al het werk in de huidige browsers.

Waarom komt mijn patroon met veel meer tekst overeen dan ik had verwacht?

Omdat kwantoren standaard hebzuchtig zijn. Iets als .* of [0-9]+ zal zoveel mogelijk verbruiken terwijl de rest van het patroon nog steeds overeenkomt. Voeg een vraagteken toe om het lui te maken, dus .*? of [0-9]+? stopt bij de eerste gelegenheid.

Waarom krijg ik maar één resultaat?

De mondiale vlag is uit. Zonder g retourneert de engine de eerste wedstrijd en stopt. Schakel g in om elke match in de invoer te verzamelen.

Waarom werkt mijn anker niet op de tweede lijn?

Standaard verwijzen de caret- en dollar-ankers naar het begin en einde van de hele tekenreeks, niet naar elke regel. Schakel de m-vlag in om ze lijnbewust te maken.

Worden mijn testgegevens ergens naartoe verzonden?

Nee. Matching gebeurt in uw browser met het ingebouwde RegExp-object. Er wordt niets geüpload, daarom kunt u veilig echte logregels of configuratiefragmenten plakken.

Kan ik dit gebruiken om de invoer op een formulier te valideren?

U kunt het patroon hier ontwikkelen, maar altijd opnieuw valideren op de server. Regex aan de clientzijde is een gemak voor de gebruiker en nooit een veiligheidscontrole, omdat deze volledig kan worden overgeslagen.

Gerelateerde hulpmiddelen