DevToys Web Pro iconDevToys Web ProBlog
Beoordeel ons:
Probeer de browserextensie:

Tester voor reguliere expressies

Configuratie

Patroon

Testtekst

  • Overeenkomsten

    Voer een patroon in om overeenkomsten te zien

    Vervangen

    Referentie

    Tekenkla ssen

    .Elk teken behalve een nieuwe regel
    [abc]Komt overeen met a, b of c
    [^abc]Komt overeen met alles behalve a, b, c
    [a-z]Tekenbereik (a tot z)
    \dCijfer (0-9)
    \DGeen cijfer
    \wWoordteken [a-zA-Z0-9_]
    \WGeen woordteken
    \sWitruimte
    \SGeen witruimte

    Ankers

    ^Begin van tekenreeks/regel
    $Einde van tekenreeks/regel
    \bWoordgrens
    \BGeen woordgrens

    Geëscapete tekens

    \tTab
    \nNieuwe regel
    \rWagenretour
    \0Nulteken
    \xhhHex-teken (bijv. \xFF)
    \uhhhhUnicode-teken

    Groepen en verwijzingen

    (abc)Capturerende groep
    (?:abc)Niet-capturerende groep
    (?<name>abc)Benoemde capturerende groep
    \1Terugverwijzing naar groep 1
    \k<name>Terugverwijzing naar benoemde groep

    Lookaround

    (?=abc)Positieve lookahead
    (?!abc)Negatieve lookahead
    (?<=abc)Positieve lookbehind
    (?<!abc)Negatieve lookbehind

    Kwantificatoren en alternatie

    a*0 of meer (gulzig)
    a+1 of meer (gulzig)
    a?0 of 1 (optioneel)
    a{n}Precies n keer
    a{n,}n keer of meer
    a{n,m}Tussen n en m keer
    a*?0 of meer (lui)
    a+?1 of meer (lui)
    a|bKomt overeen met a of b

    Vervanging

    $1, $2Inhoud van vastgelegde groep
    $&Volledige overeenkomst
    $`Vóór overeenkomst
    $'Na overeenkomst
    $$Letterlijk $-teken
    Technische details

    Hoe de RegEx-tester werkt

    Wat de tool doet

    Met de regex-tester kun je reguliere expressies in realtime testen tegen voorbeeldtekst. Hij fungeert zowel als regex-debugger als regex-validator en helpt ontwikkelaars pattern-matching-expressies op te bouwen, te testen en te verfijnen. Deze tester gebruikt de JavaScript RegExp-engine (ECMAScript), dus de syntax kan verschillen van PCRE-, .NET- of Java-regex-engines. Wanneer je regex online wilt testen, toont deze tool alle matches, capture groups en vervangingen. De tool ondersteunt JavaScript-regex-syntax, inclusief JavaScript-regex-flags (g, i, m, s, u): global (g), case-insensitive (i), multiline (m), dotAll (s) en unicode (u). Hij markeert matches in de teststring, toont capture groups en kan find-and-replace-operaties uitvoeren om te bekijken hoe een regex tekst zou transformeren.

    Veelvoorkomende use-cases voor ontwikkelaars

    Ontwikkelaars gebruiken regex-testers bij het bouwen van validatiepatronen, het parsen van logbestanden of het extraheren van data uit strings. Het testen van regexp-patronen helpt randgevallen te identificeren, complexe expressies te debuggen en te begrijpen hoe verschillende flags het matchgedrag beïnvloeden. Veel ontwikkelaars gebruiken regex-testers om e-mailadressen, telefoonnummers, URL's of andere gestructureerde dataformaten te valideren. De tool is waardevol bij formuliervalidatie, loganalyse of tekstverwerkingstaken. Regex-testers helpen ook bij het leren van reguliere expressies, omdat ze laten zien hoe patronen tekst matchen via match-iteratie en groepsextractie. Bij het testen van regexp met multiline tekst of speciale tekens helpt de tool ontwikkelaars precies te zien wat er gematcht wordt en waarom.

    Gegevensformaten, typen of varianten

    Regex-testers verwerken JavaScript-syntax voor reguliere expressies, die is gebaseerd op Perl-achtige regex met enkele verschillen ten opzichte van andere regex-engines. De tool ondersteunt character classes zoals \dvoor cijfers, \wvoor woordtekens en \svoor witruimte. Hij verwerkt anchors ( ^, $), quantifiers (*, +, ?) en alternation (|). De multiline-flag beïnvloedt hoe ^en $matchen, terwijl de dotAll-flag ervoor zorgt dat .newline-tekens matcht. Het begrijpen van regex-newline-gedrag is cruciaal voor verwerking van multiline tekst. Bijvoorbeeld: het testen van een patroon zoals /\d-\d-\d/ tegen een telefoonnummerstring laat precies zien welke delen matchen. Regex-newline-afhandeling hangt af van flags: het patroon ^foo.*bar$ matcht "foo\nbar" alleen met de dotAll-flag (s), omdat .standaard geen newlines matcht. Bij het werken met regex-newline-patronen gebruik je \n om letterlijke newlines te matchen, of \r\n voor Windows-regelafbrekingen.

    Veelvoorkomende valkuilen en edge-cases

    Een veelgemaakte fout is vergeten dat JavaScript-regex forward slashes als delimiters gebruikt, niet aanhalingstekens. Een ander probleem is misverstaan hoe de global-flag matching beïnvloedt: zonder deze wordt alleen de eerste match teruggegeven, maar met deze worden alle matches gevonden. Regex-newline-afhandeling kan lastig zijn: het .-teken matcht standaard geen newlines, tenzij de dotAll-flag wordt gebruikt. Negatie van character classes met [^...] kan verwarrend zijn, omdat het elk teken matcht dat niet in de class zit. Greedy versus lazy quantifiers ( *vs *?) gedragen zich anders en kunnen onverwachte resultaten veroorzaken. Lookahead- en lookbehind-assertions ( (?=...), (?&lt;=...)) zijn krachtig maar kunnen lastig te debuggen zijn. Ontwikkelaars moeten regex-patronen testen met verschillende inputs, inclusief randgevallen zoals lege strings, speciale tekens en Unicode-tekens.

    Wanneer je deze tool gebruikt vs code

    Gebruik deze regex-tester voor snelle patroonontwikkeling, het debuggen van complexe expressies of het leren van regex-syntax. Hij is ideaal om regex-patronen te testen voordat je ze in code implementeert, vooral bij onbekende syntax of complexe patronen. De visuele feedback helpt te achterhalen waarom een patroon wel of niet matcht met specifieke tekst. Voor productiecode gebruik je regex-testers die in IDE's of unit-testing-frameworks zijn geïntegreerd, zodat patronen als onderdeel van je testsuite kunnen worden gevalideerd. Browsertools blinken uit in interactieve ontwikkeling en leren, terwijl codegebaseerde oplossingen automatisering, integratie met CI/CD-pipelines en de mogelijkheid bieden om patronen tegen grote datasets te testen. Voor complexe applicaties zorgt geautomatiseerd regex-testen ervoor dat patronen correct werken voor verschillende inputs en randgevallen.