Regex-tester
Test reguliere expressies
Hoe Regex-tester te gebruiken
Test reguliere expressies Gratis online tool, geen registratie, geen opdringerige advertenties. Gebruik het nu.
Waarvoor dienen reguliere expressies?
Reguliere expressies (regex) zijn patronen die overeenkomen met tekst. Ze beheersen vergroot de productiviteit van een ontwikkelaar aanzienlijk — bewerkingen die 50 regels stringmanipulatie zouden vereisen, kunnen worden opgelost met één goed opgebouwde reguliere expressie.
- Invoervalidatie: Valideer e-mailadressen, Nederlandse telefoonnummers (met of zonder landcode +31), postcodes (4 cijfers + spatie + 2 letters), BSN-nummers (9 cijfers) en wachtwoorden tegen formaatregels voordat ze worden verwerkt of opgeslagen.
- Gegevensextractie: Extraheer specifieke patronen uit tekst — alle URL's in een document, alle datums in een logbestand, alle bedragen in euro's (formaat €1.234,56) in een financieel rapport.
- Geavanceerd zoeken-en-vervangen: Complexe teksttransformaties uitvoeren — datums herformatteren van DD-MM-YYYY naar YYYY-MM-DD, persoonlijke gegevens anonimiseren, witruimte normaliseren.
- Logbestandsanalyse: Apache-, Nginx- of applicatielogboeken analyseren — IP-adressen, HTTP-foutcodes en tijdstempels extraheren met patroonovereenkomst voor monitoring en meldingen.
- Code refactoring: Alle functieaanroepen vinden die overeenkomen met een specifieke signatuur, gebruik van verouderde API's identificeren in een codebase, of alle TODO/FIXME-opmerkingen door het project vinden.
Veelgebruikte patronen voor Nederland: Postcode: [1-9][0-9]{3}\s?[A-Z]{2}. Telefoon NL: (?:\+31|0031|0)[1-9][0-9]{8}. BSN: [0-9]{9}. Datum NL: \d{2}-\d{2}-\d{4}. E-mail: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}.
Frequently Asked Questions
Wat betekenen de vlaggen g, i, m en s in regex?
g (globaal): vindt alle overeenkomsten, niet alleen de eerste. i (hoofdletterongevoelig): overeenkomt ongeacht hoofdletters. m (meerdere regels): ^ en $ komen overeen met het begin/einde van elke regel. s (dotAll): het punt (.) komt ook overeen met regeleinden. Vlaggen worden gecombineerd: /patroon/gim vindt alle voorkomens zonder hoofdletteronderscheid op meerdere regels.
Wat is het verschil tussen greedy en lazy matching?
Greedy kwantificatoren (+, *, {n,}) komen overeen met zo veel mogelijk. <.+> komt overeen met de volledige string '<b>vet</b>' als één overeenkomst. Lazy kwantificatoren (+?, *?, {n,}?) komen overeen met zo weinig mogelijk. <.+?> komt apart overeen met '<b>' en '</b>'. Gebruik lazy matching om afzonderlijke HTML-tags te extraheren.
Wat is een vastleggroep versus een niet-vastleggroep?
(patroon) is een vastleggroep — de overeenkomende tekst wordt opgeslagen en kan worden gerefereerd als $1, $2, enz. in vervangingen. (?:patroon) is een niet-vastleggroep — groepeert het patroon voor kwantificatoren of alternering zonder de overeenkomst op te slaan. Gebruik niet-vastleggroepen wanneer je de vastgelegde waarde niet nodig hebt.
Wat is een lookahead en lookbehind?
Lookahead (?=patroon) controleert of wat volgt overeenkomt met het patroon, zonder tekens te consumeren. Lookbehind (?<=patroon) controleert wat eraan voorafgaat. Negatieve versies: (?!patroon) en (?<!patroon). Voorbeeld: \d+(?=\s€) komt overeen met getallen gevolgd door ' €' zonder '€' op te nemen in de overeenkomst.
Waarom werkt mijn regex in JavaScript maar niet in Python?
Regex-varianten verschillen licht tussen talen. Python gebruikt \A en \Z voor het begin/einde van de string (vs ^ en $). Python raw strings (r'patroon') vermijden dubbele escaping van backslashes. JavaScript ondersteunt lookbehind niet in oudere engines. PCRE (PHP, Perl) heeft functionaliteiten die niet beschikbaar zijn in alle engines. Test regex altijd in de doeltaal.
Regex vs stringmethoden vs parser vs AI
Regex is ideaal voor patroongebaseerde matching en extractie — krachtig maar cryptisch voor niet-ingewijden. Stringmethoden (split, indexOf, slice) zijn duidelijker voor eenvoudige bewerkingen en moeten worden verkozen boven regex wanneer regex onevenredig zou zijn. Toegewijde parsers (HTML, JSON, CSV) hebben altijd de voorkeur boven regex voor gestructureerde formaten — parseer nooit HTML met regex. AI-gestuurde analyse verwerkt ambigue natuurlijke taal waar patronen onvoorspelbaar zijn. Gebruik het eenvoudigste hulpmiddel dat het probleem veilig oplost.