Editor

Wachten op invoer of regex-uitvoering…

Acties

?
?
?

Over Online Regex Tester

Plak wat tekst, schrijf een regex-patroon, schakel vlaggen in en zie direct wat overeenkomt. Deze regex tester gebruikt dezelfde RegExp-engine als moderne JavaScript-runtimes, dus wat je hier ziet, krijg je ook in je frontendcode, Node.js-scripts of server-side validatie. Benoemde vastleggende groepen, lookarounds en Unicode-modus worden ondersteund wanneer je runtime ze ondersteunt.

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

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

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

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

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

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.

PatroonBetekenisVoorbeeld
.Elk teken behalve regeleinden (tenzij <code>s</code> vlag)<code>a.c</code> → matcht <code>abc</code>
\d, \w, \sCijfers, woordtekens, witruimte<code>\d+</code> → <code>123</code>
\D, \W, \SOntkende 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.

PatroonBetekenisVoorbeeld
?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.

FunctieSyntaxisVoorbeeld
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.

VlagNaamEffect
gGlobaalVind alle overeenkomsten in plaats van alleen de eerste
iNegeer hoofdlettersHoofdletterongevoelige matching
mMultiregel<code>^</code> en <code>$</code> matchen regelgrenzen
sDotAll<code>.</code> matcht ook regeleinden
uUnicodeSchakelt Unicode-modus en eigenschap-escapes in in moderne engines
yVastklevenAlleen 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.txt

Vind regels die overeenkomen met een bepaald patroon

Zoeken & vervangen met sed

sed -E 's/pattern/replacement/g' input.txt > output.txt

Batchvervangingen in tekstbestanden

Windows / PowerShell

PowerShell regex-zoekopdracht

Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txt

Vind Amerikaanse SSN-patronen in logbestanden (voorbeeld)

PowerShell regex-vervanging

(Get-Content input.txt) -replace 'old', 'new' | Set-Content output.txt

Eenvoudige 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?

Veelvoorkomende valkuilen: 1) Speciale karakters niet geëscaped (zoals ., ?, +), 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)?

Elke run wordt getimed met 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?

Zonder de 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?

Ja, wanneer je JavaScript-engine het ondersteunt. Schakel de 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?

De tester kan trage patronen aanduiden via de uitvoeringstijd, maar kan catastrofale backtracking niet volledig voorkomen: de onderliggende engine draait nog steeds synchroon. Gebruik dit tool als een vroeg waarschuwingssysteem, en benchmark en review complexe patronen zorgvuldig in je eigen codebase.

Pro Tips

Best Practice

Bouw je regex in kleine stukjes. Begin met iets simpels dat overeenkomt, voeg dan ankers, groepen en quantifiers stap voor stap toe.

Best Practice

Gebruik waar mogelijk benoemde capturegroepen (<code>(?<name>...)</code>). Ze maken je overeenkomsten zelf-documenterend en veel leesbaarder tijdens code reviews.

Best Practice

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>.

Best Practice

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