Regex-spiekbriefje
Kies een regex-variant
Begin met de engine die je gebruikt. De referentie verbergt syntaxis die niet voor die keuze geldt.
Gebruik deze interactieve referentie om veelgebruikte syntaxis voor reguliere expressies te vergelijken voordat je die in code plakt. Kies JavaScript, PCRE2/PHP, Python re, .NET of een weergave met alle engines; kies vervolgens een onderwerp en doorzoek de getoonde vermeldingen. De referentie markeert syntaxis die specifiek is voor een bepaalde familie, omdat een token dat in de ene engine compileert in een andere kan worden afgewezen of iets anders kan betekenen. Zoeken en kopiëren gebeuren in je browser; deze pagina voert patronen niet op jouw tekst uit.
Het regex-spiekbriefje gebruiken
-
1
Kies een engine
Begin met JavaScript, PCRE2/PHP, Python re, .NET of vergelijk ze alle vier. De gerichte weergave laat vermeldingen weg die niet op de gekozen engine van toepassing zijn.
-
2
Kies een onderwerp
Open ankers, tekenklassen, kwantoren, groepen, lookarounds, veelvoorkomende patroonvormen of flags en opties.
-
3
Zoek en kopieer lokaal
Doorzoek tokens en beschrijvingen rechtstreeks op de pagina en selecteer vervolgens een token om het te kopiëren. De zoektekst wordt niet naar de server gestuurd en niet aan de URL toegevoegd.
-
4
Controleer in de echte runtime
Gebruik in je project de passende engine, flags en API om de uiteindelijke expressie te compileren en te testen. Deze referentie legt syntaxis uit; ze valideert geen productiegegevens.
Compatibiliteit is belangrijk
Reguliere expressies vormen geen universele taal. Deze snelle referentie onderscheidt syntaxis die op elkaar lijkt, maar niet probleemloos tussen engines overdraagbaar is.
| Functie | JavaScript RegExp | PCRE2 / PHP | Python re |
.NET |
|---|---|---|---|---|
| Absoluut begin | Geen \A |
\A |
\A |
\A |
| Absoluut einde | Geen \z |
\z |
\Z |
\z |
Unicode-eigenschap \p{L} |
Gebruik modus u of v |
Ondersteund | Niet in ingebouwde re |
Ondersteund |
| Benoemde capture | (?<name>...) |
(?<name>...) of (?P<name>...) |
(?P<name>...) |
(?<name>...) |
| Benoemde backreference | \k<name> |
\k<name> of (?P=name) |
(?P=name) |
\k<name> |
| Globaal matchen | Flag g plus een passende API |
API voor herhaald matchen, zoals preg_match_all |
API voor herhaald matchen, zoals finditer |
API voor herhaald matchen, zoals Matches |
\d en \w verdienen extra aandacht. In JavaScript blijft \d beperkt tot de ASCII-cijfers 0-9, en \w bestaat in essentie uit ASCII-woordtekens, ook wanneer je u toevoegt. Andere engines kunnen, afhankelijk van hun modus en configuratie, Unicodebewuste regels toepassen. Als Unicodegedrag belangrijk is, schrijf en test dan precies de eigenschap of tekenklasse die je nodig hebt.
Ankers en grenzen
| Token | Wat het uitdrukt | Opmerking over overdraagbaarheid |
|---|---|---|
^ |
Begin van invoer, of van een regel in multiline-modus | Beschikbaar in alle vier de families. |
$ |
Einde van invoer, of van een regel in multiline-modus | Beschikbaar in alle vier de families; details rond een laatste regeleinde verschillen. |
\b |
Woordgrens | Wat als woordteken geldt, hangt af van de engine en modus. |
\A |
Absoluut begin van het subject | PCRE2, Python en .NET; niet JavaScript. |
\z |
Absoluut einde van het subject | PCRE2 en .NET; Python gebruikt \Z. |
\Z |
Einde van het Python-subject | PCRE2 en .NET kunnen ook vóór een laatste regeleinde matchen; gebruik daar \z voor het absolute einde. |
Groepen en lookarounds
| Token | Betekenis | Belangrijke beperking |
|---|---|---|
(abc) |
Vangende groep | Beschikbaar in alle vier de families. |
(?:abc) |
Niet-vangende groep | Beschikbaar in alle vier de families. |
(?<name>abc) |
Benoemde groep | Syntaxis voor JavaScript, PCRE2 en .NET. |
(?P<name>abc) |
Benoemde groep | Syntaxis voor Python; PCRE2 accepteert dit ook. |
(?=abc) / (?!abc) |
Positieve / negatieve lookahead | Beschikbaar in alle vier de families. |
(?<=abc) / (?<!abc) |
Positieve / negatieve lookbehind | Alle vier ondersteunen dit, maar de toegestane lookbehind-lengtes verschillen. |
Lookbehind is een veelvoorkomende valkuil voor overdraagbaarheid. Python re vereist een lookbehind met vaste breedte. Ondersteuning in JavaScript hangt af van de runtime die je uitrolt. Test het exacte patroon in de oudste runtime die je ondersteunt, in plaats van alleen op een rij in een spiekbriefje te vertrouwen.
Patroonvormen, geen volledige validators
De vermeldingen met veelvoorkomende patronen beschrijven bewust vormen. Zo accepteert ^\d{4}-\d{2}-\d{2}$ ook 2026-99-99, en een eenvoudig patroon in e-mailvorm kan de volledige standaard voor e-mailadressen niet implementeren. Parse datums, URL’s en gestructureerde identifiers met de juiste bibliotheek na een eerste controle van de vorm.
| Vorm | Voorbeeldpatroon | Wat het niet bewijst |
|---|---|---|
| Decimaal getal met teken | ^-?\d+(?:\.\d+)?$ |
Locale decimaaltekens, groepering, numeriek bereik of precisie. |
| Tekst in e-mailvorm | ^[\w.+-]+@[\w-]+\.[\w.-]+$ |
Een afleverbaar of volledig standaardenconform e-mailadres. |
| Tekst in HTTP(S)-URL-vorm | ^https?://\S+$ |
Een veilige, parsebare of bereikbare URL. |
| ISO-datumvorm | ^\d{4}-\d{2}-\d{2}$ |
Een echte kalenderdatum. |
| ASCII-tekens voor slugs | ^[A-Za-z0-9_-]+$ |
De regels van je toepassing voor hoofdlettergebruik, scheidingstekens of gereserveerde woorden. |
Flags en opties
Kopieer geen flag zonder eerst de host-API te controleren. JavaScript schrijft /pattern/g, terwijl Python re.I of re.X doorgeeft, .NET RegexOptions kan gebruiken en PCRE2/PHP doorgaans scheidingstekens en achtervoegselmodifiers gebruikt. g is een JavaScript-flag voor globaal matchen, geen PCRE2-modifier; herhaald matchen in PCRE2 wordt gewoonlijk door de PHP-API geregeld. Uitgebreide modus (x) is beschikbaar in PCRE2, Python en .NET, maar niet als JavaScript-flag.
Veelgestelde vragen
Nee. Dit is een syntaxisreferentie met lokale zoek- en kopieerbediening in de browser. Gebruik een regex-tester en de runtime van je toepassing om patronen te compileren en representatieve invoer te testen.
Sommige vertrouwd ogende tokens zijn niet overdraagbaar. De ingebouwde Python re gebruikt bijvoorbeeld (?P<name>…) voor benoemde groepen, JavaScript gebruikt (?<name>…), en JavaScript ondersteunt de absolute ankers \A en \z niet.
Nee. In JavaScript bestaat \d uit ASCII-cijfers en \w in essentie uit ASCII-woordtekens, ook met de flag u. Andere engines hebben andere Unicode-modi en opties, dus test het gedrag dat jouw gegevens vereisen.
Beschouw ze alleen als snelle controles van de vorm. Ze bewijzen niet dat een e-mailadres afleverbaar is, een URL veilig of bereikbaar is, of een datum in de kalender bestaat. Gebruik voor productieregels een speciaal daarvoor gemaakte parser of validator.
Gerelateerde tools
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
HTML-tekenreferentie
Een doorzoekbare lijst met HTML-entiteiten, hun benoemde en numerieke codes, plus kopiëren met één klik voor speciale tekens en symbolen.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
HAR-bestandsviewer
Open HAR-netwerkopnamen lokaal, filter verzoeken, bekijk gemaskeerde headers en timing en exporteer opgeschoonde samenvattingen zonder upload.
ASCII naar binair-converter
Converteer elke ASCII-string naar zijn binaire representatie. Elk teken wordt acht bits, gescheiden door spaties, klaar voor protocoltrace of huiswerk.
Binair naar hex-converter
Converteer binaire invoer naar een gewone hexwaarde in hoofdletters. Niet-binaire tekens worden genegeerd en voorloopnullen blijven niet behouden.