Naar de inhoud springen
Gratis, zonder registratie, in je browser

Regex Tester: reguliere expressies online testen

Met de Regex Tester test je reguliere expressies online met de JavaScript-engine van je browser. Matches worden gemarkeerd en met hun positie en capturegroepen weergegeven. Zo vindt \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b in een contacttekst 2 e-mailadressen, inclusief naam en domein. Je patroon en tekst verlaten je browser niet.

Gebouwd door Jakub Martyniak

Wil je dit patroon gebruiken? Draai je app op een VPS met volledige roottoegang.

Invoer

//g

Resultaat

Voer links een patroon in om resultaten te zien.

Voorbeeldresultaat

Zo ziet een resultaat in de Regex Tester eruit

Je voert een patroon en een tekst in. De tool toont elke overeenkomst met positie en capture groups en laat in de vervangmodus de tekst na vervanging zien. Het voorbeeld hieronder gebruikt fictieve adressen. Je overeenkomsten hangen af van je patroon en tekst.

Voorbeeld · Vlag g (alle overeenkomsten)

2 resultaten

Invoer

Patroon
\b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b
Groep 1 bevat het deel vóór de @, groep 2 het domein.
Testtekst
info@example.com, support@example.org, no-at.example.net

Uitvoer

Treffer 1
info@example.com
Index 0 · Groep 1: info · Groep 2: example.com
Treffer 2
support@example.org
Index 18 · Groep 1: support · Groep 2: example.org
Vervangen door $1 [at] $2
info [at] example.com, support [at] example.org, no-at.example.net
Het adres zonder @ wordt niet herkend en blijft ongewijzigd.

Waarom deze tool

Meer dan alleen een matchtest

De belangrijkste functies van de Regex Tester op een rij.

Matches gemarkeerd en geteld

Na een korte typepauze telt de tool alle matches en markeert ze in het resultaat. Bij heel veel matches worden de eerste 1000 gemarkeerd.

Capture Groups in beeld

Elke match staat met zijn index in een lijst, met daaronder de genummerde en benoemde capturegroepen afzonderlijk.

Vlaggen g, i, m, s en u

Schakel de vijf vlaggen in of uit met selectievakjes. Ze hebben dezelfde betekenis als in JavaScript-code. g staat standaard aan.

Vervangmodus

Vervangt matches via String.prototype.replace() met $1, $2 voor capturegroepen. Je kopieert het resultaat met één klik.

Bescherming tegen catastrophic backtracking

De verwerking draait in een Web Worker en wordt na 1 seconde afgebroken, zodat een patroon zoals (a+)+ het tabblad niet laat vastlopen.

Draait alleen in de browser

Patroon en testtekst worden uitsluitend client-side verwerkt: er wordt niets naar een server verzonden.

Handleiding

Zo test je reguliere expressies online

Van patroon tot gekopieerd resultaat: zo gebruik je de Regex Tester.

Stap 1

Modus kiezen

Kies bovenaan de modus ‘Matches zoeken’ om matches te controleren, of ‘Vervangen’ om tekst te vervangen.

Stap 2

Patroon invoeren

Voer je reguliere expressie zonder slashes in het veld ‘Patroon’ in of laad met ‘Voorbeeld laden’ een e-mailpatroon met voorbeeldtekst.

Stap 3

Flags instellen

Schakel de vlaggen g, i, m, s of u in of uit met de selectievakjes. g staat standaard aan. De actieve vlaggen staan achter het patroon, bijvoorbeeld /g.

Stap 4

Testtekst invoegen

Plak je tekst in het veld ‘Testtekst’. Na een korte typepauze worden de matches in het resultaat gemarkeerd en bovenaan geteld.

Stap 5

Matches controleren en kopiëren

De lijst toont elke match met zijn index en capturegroepen. Met de kopieerknop kopieer je alle matches, één per regel.

Stap 6

Vervangen en resultaat kopiëren

In de modus ‘Vervangen’ voer je in het veld ‘Vervangen door’ de nieuwe tekst in, met $1, $2 voor capturegroepen. Daarna kopieer je het resultaat met de kopieerknop.

Spiekbriefje

Regex-spiekbriefje: de belangrijkste bouwstenen

Een reguliere expressie (regex) is een zoekpatroon voor tekst. Daarmee kun je tekenreeksen zoals e-mailadressen, datums of logregels vinden, controleren, extraheren of vervangen. Deze bouwstenen van de JavaScript-syntaxis kun je hierboven direct in de Regex Tester uitproberen.

TokenBetekenis
.Een willekeurig teken behalve een regeleinde, met de vlag s ook regeleinden
\dEen cijfer van 0 tot 9
\wWoordteken: alleen A–Z, a–z, 0–9 en _, dus geen letters zoals ä, é of ñ
\sWitruimte zoals een spatie, tab of regeleinde
\p{L}Een willekeurige letter, ook met een trema of accent, alleen met de vlag u
\bWoordgrens, bijvoorbeeld \bRegex\b voor precies dit woord
^ $Begin en einde van de tekst, met de vlag m van elke regel
[abc]Een van de tekens a, b of c
[^abc]Elk teken behalve a, b en c
a|ba of b
* + ?Nul of meer, een of meer, nul of één keer
{2,5}Twee tot vijf herhalingen
.*?Een toegevoegde ? maakt de kwantor niet-hebzuchtig (lazy): zo weinig mogelijk tekens
( … )Capturegroep, in de Regex Tester weergegeven als groep 1, 2 enzovoort
(?<name> … )Benoemde capturegroep, in de Regex Tester ook onder de eigen naam weergegeven
(?: … )Groep zonder capture, bijvoorbeeld voor alternatieven of kwantoren
(?= … ) (?! … )Lookahead: alleen als daarna … wel of niet volgt
\.Een backslash voor een speciaal teken zorgt dat het letterlijk wordt gelezen, bijvoorbeeld \. voor een punt

Meer ontdekken

Meer tools

FAQ

Veelgestelde vragen over de Regex Tester

Korte antwoorden over reguliere expressies en deze tool.

Een lijst met alle treffers, inclusief positie en capture-groepen. Het patroon \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b vindt in de tekst ‘info@example.com, support@example.org, no-at.example.net’ 2 treffers: info@example.com vanaf index 0 en support@example.org vanaf index 18, telkens met naam en domein als groep 1 en 2. In de vervangmodus maakt $1 [at] $2 er ‘info [at] example.com, support [at] example.org, no-at.example.net’ van.

Ja. De Regex Tester is gratis en je hebt geen account nodig: open de pagina, voer een patroon en testtekst in en controleer de matches.

Nee. De verwerking vindt plaats in je browser, in een Web Worker met de eigen RegExp-engine van de browser. Er wordt niets geüpload of gelogd. Dat is belangrijk omdat testteksten vaak echte logregels of e-mailadressen bevatten.

De eigen JavaScript-engine (ECMAScript) van je browser, dus dezelfde regexsyntaxis als in JavaScript, TypeScript en Node.js. PCRE (PHP, Perl) en de re-module van Python verschillen op details: \K bestaat niet in JavaScript en benoemde groepen schrijf je als (?<name>…) in plaats van (?P<name>…).

g (global) geeft alle matches en staat standaard aan. Zonder g gedraagt de tool zich als RegExp.exec() en geeft hij hoogstens één match. i negeert hoofdletters en kleine letters, m laat ^ en $ werken aan het begin en einde van elke regel, s laat de punt ook overeenkomen met regeleinden en u schakelt de Unicode-modus in, die je bijvoorbeeld nodig hebt voor \p{L}.

Schakel over naar de modus ‘Vervangen’ en voer in het veld ‘Vervangen door’ de nieuwe tekst in. Met $1, $2 enzovoort voeg je capturegroepen in, met $<name> benoemde groepen. De tool gebruikt String.prototype.replace(): zonder de vlag g wordt alleen de eerste match vervangen. Je kopieert het resultaat met de kopieerknop.

Ja. Onder elke match staan de capturegroepen: genummerde als 1, 2 enzovoort, en benoemde zoals (?<jaar>\d{4}) ook onder hun naam. Als een groep niets heeft vastgelegd, staat er ‘(geen match)’.

Bij een ongeldig patroon, zoals een niet-gesloten haakje, toont de tool de foutmelding van de browserengine. Duurt de verwerking langer dan 1 seconde, dan wordt deze afgebroken. Meestal is het patroon dan gevoelig voor catastrophic backtracking, bijvoorbeeld door geneste kwantoren zoals (a+)+. Vereenvoudig het patroon of kort de testtekst in.

Het aantal matches is altijd exact. Hoogstens de eerste 1000 matches worden gemarkeerd en de eerste 200 worden weergegeven, telkens met index en capturegroepen. Zijn het er meer dan 200, dan verschijnt er een melding boven de gemarkeerde tekst.

Bouw je momenteel iets op maat?

Jouw applicatie heeft een betrouwbare server nodig

Een ZAP-Hosting VPS brengt je applicatie of project betrouwbaar online.

4,4/5 Trustpilot32.000+ Actieve serversSinds 2010

Geen installatie. Geen risico. Binnen enkele seconden online.

Flexibele looptijdOp elk moment opzegbaarBinnen 60 seconden online

Op zoek naar meer tools? Alle ontwikkelaarstools bekijken