Naar de inhoud
helpyself

Regex-uitlegger

Local only — nothing is uploaded unless you save or share it.

Een regex-uitlegger: plak een patroon en lees wat elk onderdeel ervan doet, in het Nederlands.

  1. Plak je reguliere expressie, met of zonder de schuine strepen
  2. Lees de ontleding van boven naar beneden
  3. Volg de inspringing om te zien waarop elke kwantor slaat
Met of zonder de schuine strepen. /\d{4}-\d{2}/g en \d{4}-\d{2} werken allebei.
Bewaar deze tool

Houd Regex-uitlegger bij de hand

Bewaar als bladwijzer

Over deze tool

Een regex-uitlegger haalt een reguliere expressie uit elkaar en beschrijft elk stuk in gewone woorden. Plak een patroon — met of zonder de omringende schuine strepen en vlaggen — en je krijgt een overzicht: waar elk teken op past, hoe vaak het mag herhalen, en welke delen worden vastgelegd. Wat een regex onleesbaar maakt zijn zelden de losse stukken. De meeste mensen weten wat \d is. Wat werkelijk moeilijk te zien is, is wat waarop slaat: of een plusteken één teken of een hele groep herhaalt, waar een alternatief begint en eindigt, en waar een vooruitblik eigenlijk naar kijkt. Daarom is de uitleg genest, en het nesten is precies het punt — de inspringing beantwoordt die vraag nog voordat een van de woorden dat doet. Hij leest het patroon in plaats van het uit te voeren. Dat betekent twee nuttige dingen. Een patroon dat minuten zou draaien tegen een vijandige invoer wordt onmiddellijk uitgelegd, want lezen kost een fractie van het werk. En een patroon dat niet compileert wordt evengoed uitgelegd: als je iets geplakt hebt omdat het stuk is, zet „SyntaxError" je terug waar je begon, dus problemen worden náást de ontleding gemeld en niet in plaats daarvan. Er wordt niets verstuurd. Patronen dragen vaak aanwijzingen over de gegevens waarvoor ze geschreven zijn, en die blijven in je browser.

Veelgestelde vragen

Wat betekent deze regex?

Plak hem erin en lees het overzicht. Elke regel noemt één stuk van het patroon en zegt waar het op past; ingesprongen regels zitten binnen de groep erboven. Slaat een kwantor als + of {2,4} op een stuk, dan staat dat op dezelfde regel, en dat is nu net het deel dat mensen het vaakst verkeerd lezen.

Kan hij een reguliere expressie uitleggen die iemand anders schreef?

Daar is hij voor. Plak het patroon en je krijgt een ontleding stuk voor stuk — deze groep, deze kwantor, deze tekenklasse — in plaats van één samenvattende zin. Regex naar gewone taal is alleen op dat detailniveau nuttig, want het deel dat je verkeerd las is meestal één enkel teken, en een parafrase van het hele patroon verbergt precies het teken waar je de fout in ging.

Kan ik een patroon met de schuine strepen en vlaggen plakken?

Ja. Zowel /\d+/gi als \d+ worden begrepen. Zijn er vlaggen, dan worden ze opgesomd met wat elk ervan doet, want g, i, m en s veranderen het gedrag van het patroon sterker dan de meeste van zijn tekens.

Legt hij een regex uit die niet werkt?

Ja, en dat is met opzet. Een niet-gesloten haak, een verdwaalde kwantor of een onmogelijk aantal als {5,2} wordt als probleem gemeld, en de rest van het patroon wordt evengoed uitgelegd. Alleen een foutmelding in handen gedrukt krijgen helpt niet wanneer je juist kwam omdat het patroon stuk is.

Is dit hetzelfde als een regex testen?

Nee. Dit leest het patroon en vertelt je wat het zegt; een tester draait het tegen tekst en laat je zien wat er gevonden is. Ze beantwoorden verschillende vragen en zijn vaak samen nuttig — onze regex-tester is één klik verder.

Waarom herhaalt ab+ niet het geheel?

Omdat een kwantor slaat op het ene item er direct voor, dus ab+ is een a gevolgd door één of meer b. Om allebei te herhalen heb je een groep nodig: (ab)+. Dit is verreweg de meest gemaakte misinterpretatie van een regex, en daarom toont het overzicht een kwantor altijd vastgeplakt aan precies het stuk waarover hij gaat.

Wat is het verschil tussen een vanggroep en (?:...)?

Een vanggroep bewaart waar hij op paste zodat je er later naar kunt verwijzen, met een nummer of een naam. (?:...) groepeert tekens voor de structuur — zodat een kwantor of een alternatief op alle kan slaan — zonder het resultaat te bewaren. Een niet-vangende groep gebruiken waar je de waarde niet nodig hebt houdt de nummering van de rest netjes.

Help deze tool beter te maken

Een fout gevonden, iets anders willen, of mis je een tool?

/regex-explainer

↑↓ om te bewegen · Enter om te openen · Esc om te sluiten