🌐 NL

🔣 Regex-tester

Test reguliere expressies in realtime en bekijk de overeenkomsten. Biedt vlaginstellingen, groepsvangst en een bibliotheek met veelgebruikte patronen.

Veelgebruikte patronen

GIDS

Meer lezen

01

1. Basis van reguliere expressies

Reguliere expressies (Regex) zijn krachtige hulpmiddelen voor het definiëren, zoeken, extraheren en vervangen van tekenreeks­patronen. Match letterlijk (\d voor cijfers, \w voor woordtekens) of gebruik speciale tekens voor complexe patronen. Voorbeeld: ^[a-z]+$ betekent strings met alleen kleine letters. ^ is begin, $ is einde, [a-z] staat voor a tot z, + betekent één of meer. Ondersteund in bijna alle programmeertalen en teksteditors, essentieel voor invoervalidatie, dataverwerking en tekstvervanging.

02

2. Collectie van veelgebruikte patronen

Regex-patronen die in de praktijk vaak worden gebruikt: E-mail: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$, Telefoon (VS): ^(\+1)?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}$, URL: ^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b, Datum (YYYY-MM-DD): ^\d{4}-\d{2}-\d{2}$, Wachtwoord (min. 8 tekens, hoofd+klein+cijfer+speciaal): ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$. Gebruik deze patronen als basis en pas ze aan voor je project.

03

3. Regex-vlaggen uitgelegd

Regex-vlaggen bepalen het zoekgedrag. g(global): vindt alle overeenkomsten, niet alleen de eerste. i(ignoreCase): hoofdletterongevoelige matching (/hello/i komt overeen met Hello, HELLO). m(multiline): ^ en $ komen overeen met begin/einde van elke regel. s(dotAll): . komt overeen met regeleindes (\n). u(unicode): verwerkt volledige Unicode correct (emoji's, enz.). y(sticky): start de zoekopdracht alleen op de positie van lastIndex. Voorbeeld: /hello/gi vindt alle hello's zonder hoofdlettergevoeligheid.

04

4. Vanggroepen en backreferences

Haakjes () maken groepen die overeenkomende delen vastleggen voor later gebruik. Voorbeeld: /(\d{4})-(\d{2})-(\d{2})/ waarbij $1 het jaar is, $2 de maand, $3 de dag. De resultarray van JavaScript match() bevat vanggroepen. Backreferences \1, \2 komen overeen met dezelfde tekst als eerdere groepen. Voorbeeld: /(\w+)\s+\1/ komt overeen met "hello hello". Niet-vangende groepen (?:) groeperen zonder vast te leggen voor betere prestaties.

05

5. Lookahead en lookbehind

Lookahead en lookbehind controleren patronen vóór of na een match zonder ze in de match op te nemen. Positieve lookahead (?=): /\d(?=px)/ komt overeen met cijfers vóór px ("100" in "100px"). Negatieve lookahead (?!): /\d(?!px)/ komt overeen met cijfers die niet vóór px staan. Positieve lookbehind (?<=): /(?<=\$)\d+/ komt overeen met cijfers na $ ("100" in "$100"). Negatieve lookbehind (?<!): het tegenovergestelde. Vaak gebruikt bij wachtwoordvalidatie om te controleren op opname van specifieke tekens.

06

6. Regex-prestatie-optimalisatie

Complexe regex kan prestatieproblemen veroorzaken. Wees zo specifiek mogelijk ([a-z]+ in plaats van .*). Vervang onnodige vanggroepen door niet-vangende groepen (?:). Gebruik luie quantifiers (*?, +?) in plaats van gulzige (*,+) om backtracking te verminderen. Voor grote teksten kunnen stringmethoden (indexOf, startsWith) sneller zijn dan regex. Precompile regex voor hergebruik (maak niet steeds een nieuwe RegExp aan). Pas op voor ReDoS (Regular Expression Denial of Service)-aanvallen - gebruik nooit invoer van gebruikers direct als regexpatroon.

Veelgestelde vragen

Kan ik meerdere regex-vlaggen combineren?
Ja, je kunt meerdere vlaggen tegelijk inschakelen — bijvoorbeeld g en i samen vinden alle overeenkomsten terwijl ze hoofdlettergevoeligheid negeren. Vink gewoon de opties aan die je nodig hebt en de tool past ze samen toe.
Kan ik de ingebouwde veelgebruikte patronen direct gebruiken?
Patronen zoals e-mail, telefoon, URL en datum werken in de meeste gevallen direct, maar het is beter om ze aan te passen aan de specifieke behoeften van je project (bijv. telefoonformaten per land).
Wat moet ik controleren als er geen overeenkomsten zijn?
Controleer eerst op typefouten in het patroon, ontbrekende escapes (\. in plaats van .) en de vlaginstellingen. "Geen overeenkomsten gevonden" betekent dat de regex zelf geldig is, maar niet overeenkomt met je teststring.
Hoe worden vanggroepen weergegeven in de resultaten?
Deze tool toont vastgelegde groepswaarden niet apart. In plaats daarvan markeert hij elke overeenkomst in de teststring en toont hij het totale aantal overeenkomsten. Je kunt nog steeds vanggroepen in je patroon schrijven, maar om te controleren wat $1, $2, enz. daadwerkelijk hebben vastgelegd, moet je dat zelf bekijken (bijv. via de browserconsole).
Waarom werken complexe regex-patronen traag?
Dit komt vaak door gulzige quantifiers of geneste groepen die overmatige backtracking veroorzaken. Specifiekere patronen schrijven en luie quantifiers (*?, +?) gebruiken helpt meestal.