Regex-tester
Bouw, test en debug JavaScript reguliere expressies met live highlighting, vervang-modus en kant-en-klare presets.
Wat is een reguliere expressie?
Een reguliere expressie (regex) is een minitaal voor zoeken en transformeren van tekst. Het zit achter zoek-in-bestanden, log-analyse, validatieregels, lexers en de meeste zoek-en-vervang-functies in editors. Deze tool bouwt een live RegExp in je browser, draait die tegen de teststring en toont elke match plus inline highlighting. Hij gebruikt de standaard JavaScript-engine, dus wat hier werkt, werkt hetzelfde in Node.js en elke moderne browser.
Hoe gebruik je de tester
Typ je patroon (zonder de omringende /.../) in het patroonveld, kies de flags die je nodig hebt en plak je testtekst eronder. Matches worden in de preview-paneel gemarkeerd en individueel met hun karakterposities opgesomd. Schakel Vervang-modus aan om het resultaat van String.prototype.replace() met je vervangtekst te zien — gebruik $& voor de hele match en $1, $2 voor capture-groepen. De preset-chips laden gangbare patronen in het veld zodat je kunt tweaken in plaats van vanaf nul te beginnen.
Regex-cheatsheet
De meest bruikbare tokens, op één plek. JavaScript-regex volgt de ECMAScript-syntax — dicht bij PCRE, met een paar weglatingen (geen possessive quantifiers, geen recursieve patronen).
| Token | Betekenis |
|---|---|
. | Elk teken (behalve newline, tenzij flag s aan staat) |
\d \w \s | Cijfer, woordteken (letters/cijfers/_), witruimte |
^ $ | Begin van string, einde van string (per regel met flag m) |
* + ? | Nul of meer, één of meer, nul of één (standaard greedy) |
{n,m} | Tussen n en m herhalingen |
[abc] | Elk teken in de set; gebruik [^abc] om te negeren |
(...) | Capture-groep; gebruik (?:...) voor een niet-capturende groep |
| | Alternatief — match een van beide kanten |
Veelgestelde vragen
Welke regex-engine wordt gebruikt?
Wat betekenen de flags?
g vindt alle matches (niet alleen de eerste). i negeert hoofdletters. m laat ^ en $ begin/einde van regels matchen. s laat . ook newlines matchen. u schakelt volledige Unicode-modus in (vereist voor properties als \p{Letter}). y is sticky — matches moeten precies bij lastIndex beginnen.Wordt er iets naar een server gestuurd?
new RegExp() en String.prototype.replace(). Open DevTools > Network ter bevestiging: er gaan geen requests af tijdens typen. Veilig voor logfragmenten, interne data of alles wat je niet in een gehoste regex-sandbox zou plakken.Waarom is mijn regex traag of bevriest de pagina?
(a+)+ of (.*)* kunnen miljarden stappen draaien op invoer die bijna matcht. Vermijd nesting van +/*; geef de voorkeur aan atomic-style alternatieven als [^x]+ of veranker je patroon. De tester bewaakt op runaway-matches met een limiet van 50.000 iteraties zodat de pagina niet vastloopt.Hoe gebruik ik capture-groepen in Vervang-modus?
$1, $2 enz. Voorbeeld: patroon (\w+)@(\w+) met vervangtekst $2 / $1 wisselt gebruiker en domein in een e-mail. $& betekent de hele match, $$ levert een letterlijke $. Genoemde groepen (?<naam>...) kun je gebruiken als $<naam>.Waarom matchen mijn ^ en $ niet elke regel?
^ alleen het allereerste begin van de teststring en $ alleen het allerlaatste einde — niet elke regel. Voeg de flag m (multiline) toe en ze matchen regelafbrekingen. Heb je ook nodig dat . newlines matcht (bijvoorbeeld om over regels te grijpen), voeg dan flag s (dotAll) toe.