Regex testen
Test reguliere expressies van JavaScript lokaal met g/i/m/s/u/y-vlaggen, overeenkomstentellingen, vastgelegde en benoemde groepen, regelkolombereiken en native vervangingsvoorbeeld.
/
/g
Testtekst
Tekens
0 / 50,000
Overeenkomstresultaten
Voer een patroon in om te beginnen met matchen
Vervangingstekst
Tekens
0 / 50,000
Vervangingsvoorbeeld
Snelstart
Veelvoorkomende scenario's
Gegevensextractie
gebruik (\d{4}-\d{2}-\d{2}) om datums te extraheren en ([\w.]+@[\w.]+) om e-mailadressen te extraheren
Formaatvalidatie
schrijf een regex, plak meerdere voorbeelden en controleer snel of het patroon exact overeenkomt met het doelformaat
Bulkvervanging
gebruik capture groups om inhoud te herschikken. Zet bijvoorbeeld "Voornaam Achternaam" om naar "Achternaam, Voornaam" met patroon (\S+)\s+(\S+) en vervanging $2, $1
Benoemde groepen
gebruik (?<jaar>\d{4})-(?<maand>\d{2})-(?<dag>\d{2}) om datums te extraheren en gebruik vervolgens $<jaar>/$<maand>/$<dag> om ze opnieuw op te bouwen
Regex leren
probeer verschillende patronen en bekijk het matchgedrag om quantifiers, ankers en tekenklassen visueel te begrijpen
Meerregelige verwerking
schakel de m-flag in zodat ^ en $ per regel matchen, handig voor logs, code en configuratiebestanden
Gebruiksadvies
Beperkingen & compatibiliteit
Privacy & veiligheid
Veelgestelde vragen
Een reguliere expressie (regex) is een patroontaal voor het beschrijven van tekststructuren. Beschouw het als een 'geavanceerde zoekopdracht': in plaats van naar een vast woord te zoeken, zoekt u naar alles dat aan een regel voldoet.\n\nBijvoorbeeld: \\d{4}-\\d{2}-\\d{2} komt overeen met alle datums in de notatie JJJJ-MM-DD, en [\\w.]+@[\\w.]+ komt overeen met e-mailadressen. Regex wordt veel gebruikt voor: het zoeken en extraheren van tekst (het vinden van foutcodes in logs), formaatvalidatie (het controleren van telefoonnummers) en batchvervanging (het converteren van datumformaten).\n\nBijna elke programmeertaal (JavaScript, Python, Java, Go, etc.) en veel tools (VS Code, grep, sed) ondersteunen regex met grotendeels vergelijkbare syntaxis. Deze tool maakt gebruik van de JavaScript RegExp-engine voor snel online testen en leren.
JavaScript-regex retourneert standaard alleen de eerste overeenkomst. Dit is gedrag van de taalspecificatie en geen beperking van het hulpmiddel. Klik op de g-knop in de vlaggenbalk om globaal zoeken in te schakelen en alle overeenkomsten te bekijken.\n\nLet op de interactie tussen g en y: g scant de volledige tekst van begin tot eind, terwijl y (sticky) vereist dat elke overeenkomst precies begint waar de vorige eindigde. Als er tussenruimtetekens tussen de overeenkomsten staan, stopt y bij de eerste ruimte. Meestal is alleen het inschakelen van g zonder y voldoende.
Vier oorzaken komen het vaakst voor: 1. Haakjes zijn niet gesloten: elke ( heeft een ) nodig en elke [ een ]. Een IDE vult dit soms automatisch aan, maar deze tool test exact het ingevoerde patroon. 2. Kwantoren staan verkeerd: *, +, ?, {n} moeten achter iets herhaalbaars staan. Combinaties zoals *+ of ?* zijn ongeldig; niet-gretige kwantoren schrijf je als *? of +?. 3. Escape is niet afgemaakt: een losse \ aan het einde is ongeldig; die moet een concreet teken escapen, zoals \d, \n of \\. 4. Unicode-properties zonder u-flag: \p{L}, \p{Script=Han} en vergelijkbare property escapes hebben in deze tool de u-flag nodig.
Deze verwijzingen horen bij JavaScript String.prototype.replace(): - $1, $2, ..., $99: inhoud van de bijbehorende capturegroep. - $&: de volledige match. - $`: tekst vóór de match. - $': tekst na de match. - $<name>: inhoud van een benoemde groep (?<name>...). Voorbeeld: als (\w+)\s(\w+) matcht op “hello world”, dan geeft vervanging met $2-$1 “world-hello”. Gebruik $$ als u een letterlijke $ in de vervanging wilt opnemen.
Regex-engines verschillen per taal vooral op drie punten: 1. Ondersteunde syntaxis: JavaScript ondersteunt geen PCRE-recursie (?R), voorwaardelijke vertakkingen (?(cond)yes|no) of atomische groepen (?>...). Python re ondersteunt die ook niet; de externe module regex deels wel. Java ondersteunt atomische groepen, maar geen recursie. 2. Unicode: in JavaScript staat \w vooral voor Latijnse basisletters, cijfers en underscore. De u-flag zorgt er niet automatisch voor dat Chinese tekens matchen. Gebruik voor Unicode-letters property escapes zoals \p{L} met de u-flag. 3. Nieuwe regels: in Python matcht . standaard niet met \n, net als in JavaScript. Java Pattern.DOTALL lijkt op de s-flag van JavaScript. Gebruik deze tool voor een snelle JavaScript RegExp-check en bevestig daarna met de engine van de doeltaal.