Regex tester
Test patronen tegen echte tekst, rechtstreeks in je browser.
| # | Type | Waarde | Positie |
|---|
Draait in je browser. Niets van wat je typt wordt ergens naartoe gestuurd.
- Live gemarkeerde matches
- Genummerde en benoemde groepen
- Draait veilig in een worker
Zo test je een reguliere expressie
- Typ of plak je patroon en kies de flags die je nodig hebt.
- Plak de tekst waar je tegen wilt matchen.
- Bekijk de gemarkeerde matches, de groepentabel, of bekijk een vervanging vooraf.
Snelle referentie voor regexsyntax
| Patroon | Matcht |
|---|---|
| \d | Elk cijfer, 0 tot 9 |
| \w | Elke letter, elk cijfer of een _ |
| \s | Elk witruimteteken |
| + | Eén of meer van het vorige token |
| * | Nul of meer van het vorige token |
| ? | Nul of één, of maakt een kwantor lui |
| ^ en $ | Begin en einde van de string of regel |
JavaScript regex-functies
| Functie | Syntax | Opmerking |
|---|---|---|
| Benoemde groepen | (?<naam>...) | Ondersteund sinds ES2018 |
| Lookbehind | (?<=...) en (?<!...) | Ondersteund sinds ES2018 |
| Unicode-modus | u-flag | Nodig voor Unicode property escapes zoals \p{Letter} |
| Hoofdletterongevoelig | i-flag | Zelfde idee als in de meeste andere talen |
Tips voor het schrijven van patronen
- Escape speciale tekens zoals . ( ) [ ] met een backslash als je het letterlijke teken bedoelt.
- Gebruik een non-capturing groep (?:...) voor groepering wanneer je die match later niet hoeft op te vragen.
- Gulzige kwantoren pakken zo veel mogelijk. Voeg een ? toe na één, zoals +?, voor lui matchen dat bij het eerst mogelijke punt stopt.
- Test met randgevallen, zoals een lege string of extra witruimte, niet alleen met de tekst die je verwacht te matchen.
Veelgestelde vragen over Regex tester
Waarom reageert mijn patroon niet meer?
Sommige patronen kunnen exponentieel backtracken op bepaalde tekst. Matchen gebeurt in een achtergrond-worker met een limiet van 1,5 seconde, zodat een patroon dat op hol slaat wordt gestopt in plaats van het tabblad te bevriezen.
Wat betekenen de flags?
g vindt elke match in plaats van alleen de eerste, i negeert hoofdlettergebruik, m laat ^ en $ per regel matchen, s laat een punt ook een regeleinde matchen, u zet volledige Unicode-modus aan, y verankert het matchen aan de laatste index, en d voegt start- en eindposities toe voor elke match.
Verandert het vervangingsvak mijn testtekst?
Nee. Het toont wat String.replace zou opleveren in een apart resultaatvak, dus de testtekst die je typte blijft precies zoals hij was.
Worden benoemde capture groups ondersteund?
Ja. Schrijf een groep als (?<naam>...) en de naam verschijnt naast het groepnummer in de matchestabel.
Wordt mijn tekst ergens naartoe gestuurd?
Nee. Matchen gebeurt in een worker binnen je eigen browsertabblad, en niets van wat je typt verlaat de pagina.
Welke regex-variant gebruikt dit?
De native JavaScript RegExp-engine van je browser, dezelfde die je patronen uitvoert als je een webapp of een Node.js-script bouwt.
Wat is catastrofale backtracking?
Dat is wanneer een patroon met geneste herhaalde groepen, zoals (a+)+b, exponentieel langer kan duren om te falen naarmate de invoer met zelfs maar één teken groeit. De timeout van 1,5 seconde in deze worker vangt zo'n patroon op voordat het de pagina kan bevriezen.
Kunnen ^ en $ het begin en einde van elke regel matchen, niet alleen van de hele string?
Ja, zet de m-flag (multiline) aan. Zonder die flag matchen ^ en $ alleen het allereerste begin en einde van de hele testtekst.