Regex-spiekbriefje

Stap 1 / 3 33%

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

    Kies een onderwerp

    Open ankers, tekenklassen, kwantoren, groepen, lookarounds, veelvoorkomende patroonvormen of flags en opties.

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