Tester voor reguliere expressies - Regex lokaal testen en uitleggen | POLPROG Naar de inhoud

Tester voor reguliere expressies

Regex lokaal testen en uitleggen

Test, verklaar en onderzoek reguliere expressies in de browser, zonder dat er iets verstuurd wordt.

Webtool Web
Officiële productpagina Publisher: POLPROG
Officiële productpagina
8
Ondersteunde vlaggen
14
Kant-en-klare patronen
200 000
Maximale testtekst
0
Naar een server verstuurde gegevens
01Tester voor reguliere expressies

Over

Eén smaak, ronduit benoemd. Het matchen gebruikt de ECMAScript-engine in je eigen browser, en de pagina zegt dat naast het invoerveld, in de referentie eronder en in de FAQ. PCRE, PHP, Python, Java en .NET zijn werkelijk andere talen met andere syntaxis en ander gedrag, dus een patroon dat hier is gecontroleerd, is gecontroleerd voor JavaScript en voor niets anders.

De vlaggen, en welke je browser echt heeft

VlaggenHoe ze worden aangeboden
g i m s u yAltijdGlobaal, hoofdletterongevoelig, meerregelig, punt dekt de regelafbreking, Unicode en plakkend. Elke browser die deze pagina kan tonen heeft ze.
d vGetestMatch-indices en Unicode-verzamelingen zijn nieuwer. Ze worden tijdens het uitvoeren getest en als niet ondersteund getoond wanneer je browser ze mist, in plaats van pas te falen als je ze aanzet.
u met vNooitHet zijn twee verschillende Unicode-modi en ECMAScript verbiedt ze te combineren, dus de een kiezen wist de ander.

Een op hol geslagen patroon kan de pagina niet blokkeren

Sommige patronen zijn pathologisch in plaats van fout. (a+)+$ tegen een lange reeks a-tekens laat de engine een astronomisch aantal paden proberen, en op de hoofdthread is dat een bevroren tabblad. Het matchen draait daarom in een worker met een harde tijdslimiet van ongeveer één seconde. Verstrijkt de limiet, dan wordt de thread beëindigd en een nieuwe aangemaakt, en het resultaat zegt dat de uitvoering is gestopt, wat bewust niet dezelfde zin is als het patroon ongeldig noemen. Het volgende patroon dat je typt draait gewoon.

Wat een resultaat je echt vertelt

  • Elke treffer met begin, eind en lengte, en zijn capture-groepen genummerd van links naar rechts, benoemd waar jij ze hebt benoemd.
  • Een groep die helemaal niet meedeed aan de treffer wordt anders gemeld dan een groep die een lege string ving. JavaScript geeft de eerste als undefined en de tweede als "", en dat onderscheid verandert wat je code moet afhandelen.
  • Het patroon token voor token teruggelezen: ankers, klassen, kwantoren, groepen, lookaround en terugverwijzingen, elk benoemd. Een constructie die de lezer niet modelleert wordt getoond zoals ze geschreven is in plaats van verkeerd beschreven.

Veertien startpunten, en wat ze niet zijn

Kant-en-klare patronen voor e-mailadres, HTTP- en HTTPS-URL's, IPv4, UUID, semantische versie, datum in ISO-stijl, hexkleur, URL-slug, HTML-tag, woorden, cijfers, witruimte en Poolse postcodes en telefoonnummers, elk met een voorbeeldtekst. Elk wordt beschreven als een praktische vorm om mee te beginnen en nooit als een volledige validator: dat voor e-mail is niet RFC 5322, dat voor IPv4 controleert niet of een adres routeerbaar is, dat voor datum herkent een vorm en geen echte kalenderdatum, en dat voor HTML zegt ronduit dat reguliere expressies geen HTML kunnen parsen.

Achter deze pagina zit geen API-eindpunt. Het patroon, de vlaggen, de testtekst, de treffers en de gevangen groepen blijven in dit browsertabblad. Ze gaan niet naar POLPROG, niet naar analyse of foutrapportage, en worden niet naar de opslag geschreven.

02Toepassing

Wat het oplost

Het probleem
  • Eén onvoorzichtig patroon legt het hele browsertabblad plat
  • Testgegevens belanden op de website van een vreemde
  • De tool zegt nooit welk regex-dialect hij spreekt
Het resultaat
  • Een op hol geslagen patroon wordt gestopt, en zo genoemd
  • Elke match met zijn positie, zijn groepen en hun namen
  • Het patroon en de tekst verlaten je eigen machine nooit
Voor wie
  • Ontwikkelaars die validatie- en parseerregels schrijven
  • Teams die uitzoeken waarom een patroon te veel vangt
  • Iedereen die leert wat een reguliere expressie echt doet
03Belangrijkste functies

Belangrijkste functies

De belangrijkste mogelijkheden praktisch uitgelegd.

De engine van je eigen browser, benoemd

Patronen draaien op de JavaScript-engine van je browser, en de pagina zegt dat naast het invoerveld, in de referentiekaart en in de FAQ. Over PCRE, Python, Java of .NET wordt niets beweerd.

Alle vlaggen, ook de nieuwe

g, i, m, s, u en y zijn altijd beschikbaar; d en v worden tijdens het draaien getest en als niet ondersteund getoond als je browser ze niet kent. In ECMAScript sluiten u en v elkaar uit, dus de een kiezen wist de ander.

Een patroon kan de pagina niet bevriezen

Het matchen draait in een worker-thread met een harde limiet. Overschrijdt een patroon die, dan wordt de thread beëindigd en een nieuwe gemaakt, en spreekt het resultaat van gestopte uitvoering in plaats van een ongeldig patroon.

Matches, groepen en posities

Elke match staat er met begin, einde en lengte, samen met de capture-groepen en hun namen. Een groep die niet meedeed wordt anders gemeld dan een groep die een lege tekenreeks ving.

Het patroon, stuk voor stuk uitgelegd

Een lokale lezer haalt het patroon uit elkaar en benoemt elk onderdeel: ankers, tekenklassen, kwantoren, groepen, lookaround en terugverwijzingen. Wat hij niet kan lezen, zegt hij, in plaats van te gokken.

Veertien startpunten

Voorbeelden voor e-mail, URL, IP-adres, datum, tijd, hexkleur, slug en meer. Elk wordt beschreven als een praktische vorm om mee te beginnen, nooit als een volledige validator.

Er verlaat niets de browser

De tool heeft geen API-eindpunt. Het patroon, de testtekst, de matches en de groepen blijven in het browsergeheugen en worden nooit geüpload, gelogd of opgeslagen.

04Download

Toegang tot het product

Een duidelijk pad van de officiële bron naar je eerste geslaagde workflow.

Kies het juiste platform

Gebruik een van de officiële links voor je apparaat of browser.

Installeer of open

Volg de instructies van de store of open de webapplicatie. Geen installatieprogramma's van derden.

Configureer en begin

Bekijk de opties, kies je voorkeuren en begin met de belangrijkste workflow.

05Technologie

Technologie achter het product

Een transparant overzicht van de kerntechnologieën waarmee dit product wordt gebouwd en onderhouden.

JavaScript
06Beveiliging

Privacy & beveiliging

Je gegevens blijven op je apparaat. Altijd.

Geen account, geen registratie
Geen API-eindpunt en geen netwerkverkeer
Patronen en testtekst verlaten de browser nooit
Er wordt niets gelogd, opgeslagen of gevolgd