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
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 resultatenInvoer
- 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.
| Token | Betekenis |
|---|---|
| . | Een willekeurig teken behalve een regeleinde, met de vlag s ook regeleinden |
| \d | Een cijfer van 0 tot 9 |
| \w | Woordteken: alleen A–Z, a–z, 0–9 en _, dus geen letters zoals ä, é of ñ |
| \s | Witruimte zoals een spatie, tab of regeleinde |
| \p{L} | Een willekeurige letter, ook met een trema of accent, alleen met de vlag u |
| \b | Woordgrens, 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|b | a 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
Tekst online vergelijken (Diff Checker)
Teksten online vergelijken: vergelijk twee teksten, configuratiebestanden of codeversies, bekijk verschillen per regel en per woord en kopieer ze als Unified Diff. Werkt volledig in de browser.
Gebouwd door Dimitri Heissler
JSON-formatter
JSON opmaken, comprimeren en valideren – met syntaxisaccentuering, foutmeldingen en download, volledig in de browser.
Gebouwd door Jakub Martyniak
YAML-validator
Controleer de YAML-syntaxis en formatteer deze volgens een standaardindeling of converteer rechtstreeks naar JSON - ondersteunt meerdere documenten gescheiden door `---` (bijv. Kubernetes-manifesten), met een nauwkeurige foutmelding voor regel en kolom. Werkt volledig in de browser.
Gebouwd door Jakub Martyniak
Crontab-generator
Stel Cron-expressies samen met een formulier, met uitleg in het Duits en een voorbeeld van de volgende uitvoeringstijden — volledig in de browser.
Gebouwd door Jakub Martyniak
URL Encoder & Decoder
URL's en tekst online coderen en decoderen: vergelijking van encodeURIComponent, encodeURI en het formulierformaat, met een tabel voor queryparameters en een UTM-linkbuilder. Werkt volledig in je browser.
Gebouwd door Dimitri Heissler
.htaccess-generator en htpasswd-generator
Maak online Apache-.htaccess- en .htpasswd-bestanden: 301-omleidingen, HTTPS, wachtwoordbeveiliging met bcrypt, WordPress-regels, foutpagina's, caching, GZIP en hotlinkbeveiliging. Werkt volledig in de browser.
Gebouwd door Dimitri Heissler
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.
Nog vragen?
Contact opnemen met supportJouw applicatie heeft een betrouwbare server nodig
Een ZAP-Hosting VPS brengt je applicatie of project betrouwbaar online.
Geen installatie. Geen risico. Binnen enkele seconden online.
Op zoek naar meer tools? Alle ontwikkelaarstools bekijken
