Naar de inhoud

Tester voor reguliere expressies FREE

Test reguliere expressies live in je browser. Zie gemarkeerde overeenkomsten, capture-groepen, benoemde groepen en een uitleg van het patroon token voor token.

Gratis te gebruiken Geen registratie Privacy voorop
01Invoer

Een reguliere expressie testen

Voer het patroon in zonder de omringende schuine strepen, plak de testtekst en kies daarna de vlaggen. Het zoeken gebeurt tijdens het typen in je browser.

Engine JavaScript / ECMAScript Draait in je browser: er wordt niets verstuurd

Typ de omringende schuine strepen niet. Een schuine streep in het patroon hoeft hier niet ge-escaped te worden.

Als literal

Je tekst wordt precies gebruikt zoals je hem invoert. Er wordt niets afgekapt, want witruimte aan begin en einde kan veranderen wat een patroon vindt.

Vlaggen

u en v zijn twee verschillende Unicode-modi en kunnen niet samen: de een kiezen wist de ander.

02Uitleg

Uitleg van het patroon

Het patroon wordt in je browser token voor token gelezen. Een constructie die deze lezer niet modelleert, wordt getoond zoals ze geschreven is in plaats van verkeerd beschreven.

Voer hierboven een patroon in om de ontleding te zien.

03Resultaat

Overeenkomsten

Voer een patroon in om live overeenkomsten te zien

Overeenkomsten, posities, capture-groepen en een ontleding van het patroon verschijnen hier zodra je begint te typen. Je kunt ook een van de veelgebruikte patronen hieronder laden.

Details van overeenkomsten en vastgelegde groepen

Posities zijn JavaScript-stringindices, geteld in UTF-16-code-eenheden. Tekens buiten het basis meertalige vlak, zoals veel emoji, tellen als twee.

    Dit patroon vond niets in de huidige testtekst. Dat is een resultaat, geen fout: het patroon zelf is geldig.

    04Bibliotheek

    Veelgebruikte patronen

    Praktische startpunten, elk met een voorbeeldtekst. Het zijn geen volledige validators: echte regels voor e-mail, URL, telefoon en datum hangen af van het systeem dat je bouwt, dus behandel ze als een eerste versie en pas ze aan.

    Tekst

    Ontwikkeling

    Polen

    05Naslag

    Over reguliere expressies in JavaScript

    01

    Wat een reguliere expressie is

    Een reguliere expressie is een patroon dat een verzameling tekenreeksen beschrijft. In plaats van naar één vast woord te zoeken beschrijf je de vorm ervan - vier cijfers, dan een koppelteken, dan twee cijfers - en de engine vindt elk stuk tekst met die vorm. Reguliere expressies zitten in vrijwel elke editor, taal en opdrachtregeltool.

    02

    Deze tester gebruiken

    Typ een patroon zonder de omringende schuine strepen, zet de vlaggen aan die je nodig hebt en plak de tekst die je wilt testen. Het zoeken loopt bij elke wijziging, dus de gemarkeerde weergave, de lijst met overeenkomsten en de ontleding werken bij terwijl je typt. Er wordt niets verstuurd en niets opgeslagen.

    03

    De JavaScript- en ECMAScript-variant

    Het zoeken gebruikt de regex-engine in je browser, die de ECMAScript-specificatie uitvoert. Andere varianten zijn echt andere talen: PCRE, PHP, Python, Java en .NET voegen syntaxis toe of laten die weg, dus een patroon dat hier werkt kan elders aanpassing nodig hebben. Dit hulpmiddel rapporteert alleen wat ECMAScript doet.

    04

    Capture-groepen en benoemde groepen

    Haakjes leggen het deel van de overeenkomst vast dat ze omsluiten, genummerd van links naar rechts. Ze een naam geven, zoals in (?<year>...), maakt diezelfde capture leesbaar in code. Een optionele groep die niet aan de overeenkomst deelnam, wordt gemeld als geen overeenkomst, en dat is iets anders dan een groep die een lege string vond.

    05

    Waarom het zoeken in een worker draait

    Sommige patronen zijn pathologisch: (a+)+$ op een lange reeks a-tekens dwingt de engine astronomisch veel paden te proberen. Daarom draait het zoeken in een achtergrondthread met een tijdslimiet. Overschrijdt een run die limiet, dan wordt de thread gestopt en zegt de tester dat ook - het patroon is duur, niet ongeldig - en het volgende patroon draait weer gewoon.

    06

    Privacy

    Het patroon, de vlaggen, de testtekst, de overeenkomsten en de vastgelegde groepen blijven in dit browsertabblad. Ze gaan niet naar POLPROG, niet naar analytics of foutrapportage, komen niet in de adresbalk en worden niet tussen bezoeken bewaard. De pagina sluiten is genoeg om ze te verwijderen.

    Reikwijdte en grenzen

    Wat deze tester dekt

    ECMAScript-zoeken in de browser, met de grenzen erbij vermeld

    De tester draait je patroon op je tekst met de eigen ECMAScript-engine van de browser en meldt wat die teruggeeft: overeenkomsten, posities, capture-groepen en benoemde groepen. Hij controleert geen andere regex-varianten, meet geen prestaties en beperkt de testtekst tot 200.000 tekens en de gedetailleerde lijst tot de eerste 100 overeenkomsten, zodat een groot resultaat leesbaar blijft. Het totale aantal overeenkomsten wordt nog steeds volledig gemeld.

    Hulp

    FAQ

    Ziet POLPROG mijn reguliere expressie of mijn testtekst?

    Nee. Alles draait in je browser: het patroon, de vlaggen, de testtekst, de overeenkomsten en de vastgelegde groepen blijven op de pagina. Dit hulpmiddel doet geen enkele API-aanroep, schrijft niets naar opslag en stuurt er niets van naar analytics of foutrapportage.

    Welke regex-variant gebruikt deze tester?

    De ECMAScript-engine in je browser, dezelfde die JavaScript-expressies uitvoert. PCRE, PHP, Python, Java en .NET zijn andere varianten met andere syntaxis en ander gedrag, dus een patroon dat hier is gecontroleerd, is alleen voor JavaScript gecontroleerd.

    Wat gebeurt er met een patroon dat nooit klaar is?

    Het zoeken draait in een achtergrondthread met een limiet van ongeveer een seconde. Een patroon als (a+)+$ op een lange invoer kan praktisch onbeperkt doorgaan; als de limiet voorbij is wordt de thread gestopt en meldt de tester dat de uitvoering is gestopt. Het patroon is duur, niet ongeldig, en het volgende patroon dat je typt draait weer gewoon.

    Waarom toont een groep “geen overeenkomst” in plaats van een lege waarde?

    Een optionele groep die nooit aan de overeenkomst deelnam heeft helemaal geen waarde, en dat verschilt van een groep die een lege string vond. JavaScript meldt de eerste als undefined en de tweede als een lege string. De tester houdt ze uit elkaar omdat dat verschil bepaalt wat je code moet afhandelen.

    Bouw een beter web, sneller.

    Wij bouwen maatwerksoftware en oplossingen afgestemd op jouw wensen.

    Neem contact op