Editor
Wachten op invoer of regex-uitvoering…
Acties
Waarom Deze Regex Tester Gebruiken
- Real-time matching met een optionele "live" modus om opnieuw uit te voeren terwijl je typt
- Gestructureerde matchlijst met startindex, eindindex, waarde en benoemde capturegroepen
- Volledige JavaScript/ECMAScript RegExp-syntaxondersteuning (zelfde engine als je JS-runtime)
- Vlagcontroles: g, i, m, s, u, y – combineer en experimenteer veilig
- Basisprestatie-inzicht met uitvoeringstijd per run in milliseconden
- Alleen-tekst samenvatting voor snel kopiëren/plakken in tickets, docs of commitberichten
- Uitstekend voor leren: prototypepatronen zonder een volledig project of testsuite te draaien
- Ideaal voor dagelijkse taken: logparsing, validatie, URL-/ID-extractie, snelle datareiniging
- Resultatenlijst is zachtjes gelimiteerd om UI-bevriezing te voorkomen bij grote teksten
🔧 Hoe de Regex Tester te Gebruiken for regex-tester
1. Plak of Typ Je Testtekst
Voeg de tekst toe waar je doorheen wilt zoeken: logs, fragmenten, CSV-stukjes, HTML, JSON, alles wat platte tekst is.
2. Schrijf Je Regexpatroon
Voer de reguliere expressie in **zonder omringende slashes**. Bijvoorbeeld: <code>\b\w+@\w+\.\w+</code> voor een basis e-mailachtig patroon, of <code>(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})</code> met benoemde groepen.
3. Stel Vlaggen In (g, i, m, s, u, y)
Schakel vlaggen zoals <code>g</code> (globaal), <code>i</code> (hoofdletterongevoelig) of <code>m</code> (multilijn). Onder de motorkap bouwt de tester <code>new RegExp(pattern, flags)</code> precies zoals JavaScript doet.
4. Inspecteer Matches & Groepen
Bekijk elke match met zijn index, optionele eindindex en capturegroepen. Benoemde groepen verschijnen als een JSON-achtige kaart zodat je ze kunt kopiëren naar testfixtures, parsers of documentatie.
5. Kopieer de Samenvatting
Gebruik de tektsamenvatting als een snel rapport: het vermeldt matches met indices en groepen, klaar om te plakken in tickets, codereviewopmerkingen of spiekbriefjes.
Regex-syntax & Engine-details
Tekenklassen & Basis
Kernbouwblokken ondersteund door de JavaScript RegExp-engine.
| Patroon | Betekenis | Voorbeeld |
|---|---|---|
| . | Elk teken behalve regeleinden (tenzij <code>s</code> vlag) | <code>a.c</code> → matcht <code>abc</code> |
| \d, \w, \s | Cijfers, woordtekens, witruimte | <code>\d+</code> → <code>123</code> |
| \D, \W, \S | Ontkende versies van bovenstaande | <code>\S+</code> → niet-witruimte reeksen |
| [abc] | Tekenverzameling | <code>[aeiou]</code> → een enkele klinker |
| [^abc] | Ontkende verzameling | <code>[^0-9]</code> → niet-cijfer |
| ^, $ | Begin en einde van invoer (of regel met <code>m</code>) | <code>^Hello</code>, <code>!$</code> |
Kwantificatoren
Herhaling van voorgaande tokens, met gulzige en luie gedragingen.
| Patroon | Betekenis | Voorbeeld |
|---|---|---|
| ? | 0 of 1 keer | <code>colou?r</code> → komt overeen met <code>color</code> en <code>colour</code> |
| * | 0 of meer | <code>a*b</code> → <code>b</code>, <code>aaab</code> |
| + | 1 of meer | <code>\d+</code> → <code>1</code>, <code>123</code> |
| {n} | Precies n | <code>a{3}</code> → <code>aaa</code> |
| {n,} | Minstens n | <code>\d{3,}</code> → <code>123</code>, <code>1234</code> |
| {n,m} | Tussen n en m | <code>a{2,4}</code> → <code>aa</code>, <code>aaa</code>, <code>aaaa</code> |
Groepen, Lookarounds & Genoemde Vangsten
Geavanceerdere functies geboden door moderne JavaScript-engines.
| Functie | Syntaxis | Voorbeeld |
|---|---|---|
| Vangende groepen | (...) | <code>(\d{3})-(\d{2})</code> → gebied + suffix |
| Niet-vangende groepen | (?:...) | <code>(?:https?|ftp)://</code> |
| Terugverwijzingen | \1, \2, ... | <code>(\w)\1</code> → <code>aa</code>, <code>bb</code> |
| Vooruitkijken | (?=...), (?!...) | <code>\w+(?=! )</code> → woord voor <code>! </code> |
| Achteruitkijken* | (?<=...), (?<!...) | <code>(?<=#)\w+</code> → tekst na <code>#</code> (*in moderne engines) |
| Genoemde groepen | (?<name>...) | <code>(?<year>\d{4})</code> → <code>groups.year</code> in resultaten |
Vlaggen (Opties)
De vlaggen van de tester komen direct overeen met JavaScript RegExp-vlaggen.
| Vlag | Naam | Effect |
|---|---|---|
| g | Globaal | Vind alle overeenkomsten in plaats van alleen de eerste |
| i | Negeer hoofdletters | Hoofdletterongevoelige matching |
| m | Multiregel | <code>^</code> en <code>$</code> matchen regelgrenzen |
| s | DotAll | <code>.</code> matcht ook regeleinden |
| u | Unicode | Schakelt Unicode-modus en eigenschap-escapes in in moderne engines |
| y | Vastkleven | Alleen overeenkomen op de huidige index (gebruikt met <code>lastIndex</code>) |
Prestaties & Veiligheid
De onderliggende JavaScript-engine voert regex synchroon uit. Om de gebruikersinterface responsief te houden, beperkt de tester het aantal verzamelde overeenkomsten (bijvoorbeeld de eerste 500 treffers in globale modus). Dit helpt voorkomen dat de gebruikersinterface overstroomt, maar vervangt geen volledige prestatie-audits voor complexe of kritieke patronen.
Opdrachtregel Regex-hulpmiddelen
Zodra je patroon hier werkt, kun je dezelfde of vergelijkbare regex hergebruiken in je terminal, scripts of CI-taken:
Linux / macOS
Zoeken met grep (uitgebreide regex)
grep -E 'pattern' file.txtVind regels die overeenkomen met een bepaald patroon
Zoeken & vervangen met sed
sed -E 's/pattern/replacement/g' input.txt > output.txtBatchvervangingen in tekstbestanden
Windows / PowerShell
PowerShell regex-zoekopdracht
Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txtVind Amerikaanse SSN-patronen in logbestanden (voorbeeld)
PowerShell regex-vervanging
(Get-Content input.txt) -replace 'old', 'new' | Set-Content output.txtEenvoudige regex-gebaseerde vervangingen
Praktische Regex-toepassingen
Web & Frontend-ontwikkeling
- Valideer e-mails, gebruikersnamen, slugs of aangepaste ID's in formulieren
- Extraheer routeparameters uit URL's of paden
- Snel patronen prototypen voor client-side validatie
// Basic email-like validation
/^[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}$/i.test(email);// Route params: /post/123
const match = pathname.match(/^\/post\/(\d+)/);Logboeken, Gegevens & Backend
- Parse tijdstempels en niveaus uit logregels
- Normaliseer witruimte en maak rommelige tekst schoon
- Extraheer ID's, e-mails of referenties uit ongestructureerde inhoud
// Collapse repeated whitespace
const normalized = text.replace(/\s+/g, ' ').trim();// Simple log line matcher
const m = line.match(/\[(?<date>\d{4}-\d{2}-\d{2})] (?<level>INFO|ERROR): (?<msg>.*)/);Gegevensopschoning & Snelle Scripts
- Verwijder ongewenste HTML-tags of attributen voor het parsen
- Haal alle URL's, e-mails of ID's uit een lange tekstblob
- Bereid datasetvelden voor om in een ander systeem te importeren
❓ Frequently Asked Questions
❓Waarom komt mijn regex niks overeen?
., ?, +), 2) Vergeten van de g-vlag wanneer meerdere overeenkomsten verwacht worden, 3) Ontbrekende ankers (^, $) of woordgrenzen (\b), 4) Gebruik van functies die je JavaScript-engine nog niet ondersteunt (zoals sommige lookbehinds). Probeer het patroon te vereenvoudigen en voeg onderdelen geleidelijk terug toe.⏱️Wat betekent de uitvoeringstijd (ms)?
performance.now(). De waarde is een ruwe meting van hoe lang de regex nodig had om uit te voeren op de huidige invoer. Het is nuttig om duidelijk dure patronen te spotten, maar het is geen volledige benchmark of garantie voor productieprestaties.🔍Wat is het verschil tussen eerste overeenkomst en globale modus?
g-vlag retourneert JavaScript alleen de **eerste** overeenkomst (indien aanwezig). Met g gebruikt de tester input.matchAll() om **alle** overeenkomsten te verzamelen (beperkt tot een veilig maximum), inclusief indices en capturegroepen. Gebruik globale modus wanneer je om meerdere voorkomens geeft.🌍Ondersteunt dit Unicode en <code>\p{...}</code>-escapes?
u-vlag in voor Unicode-modus, wat zaken zoals \p{Letter} of \p{Script=Greek} ontgrendelt in moderne browsers en recente Node.js-versies.⚠️Kan dit catastrofale backtracking detecteren?
Pro Tips
Bouw je regex in kleine stukjes. Begin met iets simpels dat overeenkomt, voeg dan ankers, groepen en quantifiers stap voor stap toe.
Gebruik waar mogelijk benoemde capturegroepen (<code>(?<name>...)</code>). Ze maken je overeenkomsten zelf-documenterend en veel leesbaarder tijdens code reviews.
Wees voorzichtig met <code>.*</code> en geneste quantifiers. Ze kunnen zware backtracking veroorzaken op grote invoer. Maak patronen specifieker of beperk herhaling met <code>{n,m}</code>.
Verwijder bij debuggen tijdelijk de <code>g</code>-vlag en focus op de eerste overeenkomst om het mentale model te vereenvoudigen.
Additional Resources
Other Tools
- CSS Opmaker
- HTML Opmaker
- Javascript Opmaker
- PHP Opmaker
- Kleurkiezer
- Sprite Extractor
- Base64 Decoder
- Base64 Encoder
- Csharp Formatter
- Csv Formatter
- Dockerfile Formatter
- Elm Formatter
- ENV Formatter
- Go Formatter
- Graphql Formatter
- Hcl Formatter
- INI Formatter
- JSON Formatter
- Latex Formatter
- Markdown Formatter
- Objectivec Formatter
- Php Formatter
- Proto Formatter
- Python Formatter
- Ruby Formatter
- Rust Formatter
- Scala Formatter
- Shell Script Formatter
- SQL Formatter
- SVG Formatter
- Swift Formatter
- TOML Formatter
- Typescript Formatter
- XML Formatter
- YAML Formatter
- Yarn Formatter
- CSS Verkleiner
- Html Minifier
- Javascript Minifier
- JSON Verkleiner
- XML Verkleiner
- Http Headers Viewer
- PDF Naar Tekst
- Serp Rang Checker
- Whois Opzoeken