Naar hoofdinhoud springen
FreeOnlineTools Go
Nederlands
Uitleg

Wat Is een Reguliere Expressie? Een Volledige Uitleg

Door FreeOnlineTools Team · Bijgewerkt op 2026-09-02

Snel antwoord

Een reguliere expressie is een patroon dat een set tekenreeksen beschrijft. Het gebruikt literal characters en metacharacters (*, +, ?, ., ^, $, [], (), {}, |, \) met speciale betekenissen. Regex wordt gebruikt voor validatie, zoeken, extractie en vervanging. Gebruik onze gratis Regex Tester om patronen te testen.

Invoering

Een reguliere expressie (regex of regexp) is een reeks tekens die een zoekpatroon definieert. Het patroon wordt gebruikt door string-search-algoritmes om tekst te vinden, matchen of vervangen. Reguliere expressies ontstonden in formele-taaltheorie in de jaren '50 en werden in de jaren '70 opgenomen in Unix-teksttools (grep, sed, awk). Vandaag is regex ingebouwd in vrijwel elke programmeertaal en teksteditor.

Stap voor stap

  1. Begrijp letterlijke en metatekens

    Letterlijke tekens (a, b, 1, @) komen overeen. Metatekens hebben een speciale betekenis: . komt overeen met elk teken, * betekent nul of meer, + betekent één of meer, ? betekent nul of één, ^ begint met wedstrijden, $ eindigt met wedstrijden.

  2. Leer karakterlessen

    Vierkante haken [] definiëren een tekenklasse: [aeiou] komt overeen met elke klinker, [0-9] komt overeen met elk cijfer, [^0-9] komt overeen met elk niet-cijfer. Verkorte klassen: \d (cijfer), \w (woordteken), \s (witruimte) en hun ontkenningen in hoofdletters.

  3. Gebruik kwantificatoren

    Kwantificatoren geven aan hoe vaak een patroon zich herhaalt: * (0+), + (1+), ? (0 of 1), {n} (precies n), {n,} (n+), {n,m} (n tot m). Standaard hebzuchtig; toevoegen ? voor luie matching (bijvoorbeeld *?).

  4. Groeperen en ankeren

    Haakjes () maken opnamegroepen aan. Afwisseling | komt overeen met beide kanten (kat|hond). Ankers ^ en $ komen overeen met het begin en einde van de tekenreeks. Gebruik deze om complexe patronen uit eenvoudigere patronen te bouwen.

Voorbeelden

Match een e-mailachtig patroon

Invoer: Pattern: [a-z]+@[a-z]+\.[a-z]+

Uitvoer: Matches: alice@example.com, bob@test.org

Overeenkomen met een telefoonnummerformaat

Invoer: Pattern: \d{3}-\d{3}-\d{4}

Uitvoer: Matches: 555-123-4567

Sleutel-waardeparen extraheren

Invoer: Pattern: (\w+)=(\w+)

Uitvoer: Matches 'key=value' with group 1 as key, group 2 as value

Veelvoorkomende problemen

  • Hebzuchtige matching overconsumeert —.* matches zoveel mogelijk. Gebruik .*? voor luie matching om de kortste match te vinden.
  • Vergeten speciale tekens te escapen —., *, +, ?, etc. zijn speciaal. Gebruik \ om ze letterlijk te matchen (bijvoorbeeld: \. komt overeen met een letterlijke punt).
  • Catastrofale backtracking: patronen met geneste kwantoren (bijvoorbeeld (a+)+) kunnen bij bepaalde invoer exponentieel veel tijd in beslag nemen, waardoor ReDoS-aanvallen kunnen ontstaan.
  • Overmatching: zonder ankers (^ en $) komt een patroon overal overeen. Gebruik ^...$ om de hele tekenreeks te matchen.

Tips

  • Begin eenvoudig en voeg stapsgewijs de complexiteit toe: het in één keer debuggen van een complexe regex is erg moeilijk.
  • Gebruik een regex-tester om te experimenteren met patronen aan de hand van voorbeeldtekst, zodat overeenkomsten in realtime worden gemarkeerd.
  • Becommentarieer complexe regexes met behulp van de uitgebreide modus (/x vlag in sommige zoekmachines) of verdeel ze in benoemde delen.
  • Gebruik onze Regex Tester om patronen direct in uw browser te testen - geen aanmelding, volledig privé.

Gerelateerde hulpmiddelen

Gerelateerde gidsen

Referenties