In dit artikel
Wat is een reguliere expressie?
Een reguliere expressie (regex of regexp) is een reeks tekens die een zoekpatroon definieert. Ze worden gebruikt om tekst te doorzoeken, te matchen, te extraheren, te vervangen en te valideren. Regex-patronen worden standaard ondersteund in vrijwel elke programmeertaal en zijn onmisbare hulpmiddelen in de gereedschapskist van elke ontwikkelaar.
Regex kan variëren van eenvoudige patronen zoals \d+ (een of meer cijfers) tot complexe meerregelige patronen met lookaheads, backreferences en benoemde groepen. Hoewel krachtig, kunnen complexe regex-patronen moeilijk te lezen en te onderhouden zijn — de regex-tester helpt u patronen interactief op te bouwen en te verifiëren.
Hoe onze regex-tester werkt
De regex-tester biedt real-time matching met visuele markering terwijl u typt.
- Live matching — markeert alle overeenkomsten in uw testtekenreeks terwijl u het patroon intypt
- Vlagondersteuning — schakel globaal, hoofdletterongevoelig, meerregelig en dotAll-vlaggen in of uit
- Weergave van groepsopname — toont vastgelegde groepen en benoemde captures voor complexe patronen
Probeer gratis — geen aanmelding vereist
Test een reguliere expressie →Wanneer de regex-tester te gebruiken
De regex-tester is nuttig wanneer u een patroon wilt ontwikkelen of debuggen voordat u het in code inbedt.
- Formuliervalidatie — ontwikkel en test patronen voor e-mail-, telefoon-, postcode- of aangepaste invoervalidatie
- Logparsing — bouw regex om velden uit logregels te extraheren voordat u ze verwerkt met grep of awk
- Gegevensextractie — test patronen voor het scrapen of parseren van gestructureerde gegevens uit tekst of HTML
Veelgestelde vragen
Wat is het verschil tussen greedy en lazy kwantoren?
Greedy kwantoren (*, +, ?) matchen zo veel mogelijk. Lazy kwantoren (*?, +?, ??) matchen zo weinig mogelijk. Op de tekenreeks <a>tekst</a> matcht het patroon <.*> de gehele tekenreeks (greedy), terwijl <.*?> alleen <a> matcht (lazy). Lazy kwantoren zijn essentieel bij het parseren van HTML of geneste structuren.
Hoe match ik een letterlijke punt of ander speciaal teken in regex?
Geef het teken een escape met een backslash: \. matcht een letterlijke punt, \* matcht een letterlijk sterretje. De speciale tekens die een escape vereisen zijn: . * + ? ^ $ { } [ ] | ( ) \. Als u een van deze letterlijk wilt matchen, zet er altijd \ voor.
Waarom werkt mijn regex anders in JavaScript dan in Python?
Verschillende talen implementeren licht afwijkende regex-varianten. Belangrijke verschillen zijn: Python gebruikt (?P<naam>) voor benoemde groepen, terwijl JavaScript (?<naam>) gebruikt; ondersteuning voor lookbehind varieert; sommige functies zoals \K (keep) bestaan in PCRE maar niet in JavaScript. Test uw regex altijd in de context van uw doeltaal.