Regex Tester
Test JavaScript-regex met live match-highlighting, capture groups en replace-preview.
Matches in text
Capture groups
| # | Offset | Match | Group |
|---|---|---|---|
|
—
|
Replace preview
Quick reference
\d
Digit (0–9)
\w
Word char (a-z, 0-9, _)
\s
Whitespace
[^abc]
Anything except a/b/c
^/$
Start / end of line (with m flag)
a*
Zero or more
a+
One or more
a?
Zero or one
a{n,m}
Between n and m repetitions
(?<name>…)
Named capture group
(?=…)
Lookahead
(?<=…)
Lookbehind
Over deze tool
Regex Tester evalueert JavaScript reguliere expressies tegen een hoeveelheid testtekst en markeert elke match ter plekke. Het patroon-veld accepteert de volledige ECMAScript-regex-syntax — anchors, character classes, alternation, lookahead, lookbehind, named capture groups, Unicode-eigenschap-escapes — met aparte toggles voor de standaard flags (g global, i ignore case, m multiline, s dot-matches-newline, u Unicode, y sticky). Matches zijn kleurgecodeerd en capture groups worden onder elke highlight vermeld.
Naast matching kan de tool een replace-preview naast het origineel uitvoeren — typ de vervangstring (met $1 / $<name>-backreferences) en zie precies wat uw regex zal produceren tegen de testinput. Elke operatie draait in uw browser met de native RegExp-engine, dus wat u hier debugt is exact wat in productie-JavaScript uitvoert (Node, Bun, Deno, elke browser).
Wanneer gebruikt u deze tool
- Input-validators bouwen. E-mail-, telefoonnummer-, postcode-patronen — ontwerp en verifieer met realistische testdata voordat u naar code pusht.
- Log-bestanden parseren. Itereer een multi-group capture-patroon tegen echte logregels totdat elk veld schoon eruit komt.
- Bulk-bewerken. Test een find/replace-patroon voordat u het in uw editor over honderden bestanden draait.
- Regex leren. Gemarkeerde matches plus directe feedback is de snelste manier om look-around, anchors en backreferences eigen te maken.
Over regex-smaken
Deze tool gebruikt JavaScript-regex (ECMAScript 2018+). PCRE, Python, .NET, Go en Java verschillen allemaal lichtelijk — PCRE ondersteunt recursieve patronen die JavaScript niet heeft, Python'sre-module mist lookbehind in sommige versies, Go gebruikt RE2 dat backreferences volledig verbiedt. Als u een niet-JS-omgeving doelwit, dubbelcheck de smaak-specifieke features aan de ontvangende kant. Voor pure ECMAScript-compatibele patronen is deze tool gezaghebbend.
Veelgestelde vragen
Wat is het verschil tussen g-, m- en s-flags?
g (global) maakt dat .match() en .replace() elke match vinden in plaats van alleen de eerste. m (multiline) maakt dat ^ en $ matchen bij regeleinden binnen de input, niet alleen aan het begin/einde van de hele string. s (dotall) maakt dat . ook newlines matcht (standaardgedrag is ze overslaan). Ze zijn onafhankelijk — combineer naar behoefte.
Waarom werkt mijn lookbehind niet?
(?<=...) vereist moderne ECMAScript (2018+) en is beschikbaar in alle huidige evergreen-browsers en Node 10+. Oudere runtimes (IE 11, Safari vóór 16.4, zeer oude Node) wijzen het patroon af bij compile-time. Onze tester gebruikt de engine van de browser, dus als uw tester werkt maar de doel-runtime faalt, is het doel te oud. Workaround: herschrijf zonder lookbehind met een non-capturing group en een slice.
Hoe test ik tegen een lange string?
Wat is "catastrophic backtracking"?
(a+)+ tegen een lange string die eindigt op een niet-match. De regex-engine probeert elke permutatie voordat hij opgeeft. Moderne JavaScript-engines hebben geen time-out, dus de pagina kan hangen. Fix: herschrijf zonder geneste kwantificatoren, gebruik possessive groups via (?:a+), of anker het patroon strikter.