Regex-spiekbriefje

Regex-spiekbriefje: syntaxis + 30 geteste patronen | We.Inc

Regex-syntaxis in één tabel, plus 30 kant-en-klare patronen voor e-mail, URL, telefoon, postcode, wachtwoord, datums en meer. Elk patroon draait live tegen voorbeelden die moeten slagen of falen en die u kunt bewerken.

Regex-spiekbriefje

Een reguliere expressie is een patroon om tekst te matchen. \d matcht een cijfer, \w een woordteken, + betekent één of meer, ? maakt iets optioneel, en ^ en $ zetten de match vast aan het begin en het einde. Hieronder staan de volledige syntaxis en 30 geteste patronen, elk live gecontroleerd tegen strings die wel en niet moeten matchen.

Zes symbolen die de meeste patronen dekken

Kopieer een patroon en probeer daarna uw eigen tekst ertegen in het vak ernaast. Elk patroon op deze pagina heeft voorbeelden die moeten matchen en voorbeelden die niet mogen matchen, en de pagina voert ze uit in uw browser zodat u elk resultaat ziet.

Veelgestelde vragen

Wat is de beste regex voor e-mailadressen?

Een praktische is ^[^\s@]+@[^\s@.]+(\.[^\s@.]+)+$: wat tekst, een @ en een domein met minstens één punt. Die vangt typfouten zonder ongebruikelijke maar geldige adressen af te wijzen. Geen regex kan zien of een adres echt bestaat, dus stuur een bevestigingsmail.

Hoe match ik een telefoonnummer met regex?

Verwijder spaties, streepjes en haakjes en controleer dan het E.164-formaat: ^\+[1-9]\d{6,14}$. Gebruik voor Amerikaanse en Canadese nummers die met scheidingstekens zijn getypt het Noord-Amerikaanse patroon op deze pagina. Voor een volledige controle per land is een library voor telefoonnummers betrouwbaarder.

Wat betekent ^ in regex?

Buiten vierkante haken zet ^ de match vast aan het begin van de tekst, of van elke regel met de flag m. Binnen vierkante haken als eerste teken, zoals in [^0-9], betekent het geen van deze tekens.

Waarom werkt mijn regex in JavaScript maar niet in Python?

De varianten verschillen in details: Python schrijft benoemde groepen als (?P<name>...), ondersteunt \p{L} niet in de ingebouwde module re en staat alleen lookbehind met vaste lengte toe. Bekijk de talentabel op deze pagina voor de gangbare verschillen.

Wat is het verschil tussen greedy en lazy?

Greedy quantifiers zoals * en + nemen zoveel tekst als ze kunnen en geven daarna terug. Met een ? erachter worden ze lazy en nemen ze zo weinig mogelijk. Op <b>x</b><b>y</b> matcht <.+> alles, terwijl <.+?> alleen <b> matcht.

Een patroon van links naar rechts lezen

Veelgemaakte fouten

Overzicht van regex-syntaxis (JavaScript-variant)

JavaScript-flags

Dezelfde ideeën in JavaScript, Python en PHP

E-mailadres (praktisch)

Iets, een @ en dan een domein met minstens één punt. Geen spaties.

Geen regex controleert een e-mailadres volledig. Stuur een bevestigingsmail om te weten of het echt is.

Webadres (http of https)

http of https, een host met minstens één punt, een optionele poort en dan een pad, query of fragment zonder spaties.

In JavaScript is new URL(value) binnen een try-blok de strengere controle.

Domeinnaam

Labels van letters, cijfers en koppeltekens binnenin, gescheiden door punten, eindigend op een topleveldomein van alleen letters.

URL-slug

Kleine letters en cijfers in groepen, verbonden door enkele koppeltekens.

Telefoonnummer, internationaal (E.164)

Een plusteken, een landcode die niet met 0 begint en in totaal 7 tot 15 cijfers, zonder spaties.

Verwijder eerst spaties, streepjes en haakjes. Gebruik voor echte validatie per land een library voor telefoonnummers.

Telefoonnummer, VS en Canada

Optioneel +1, een netnummer en centralecode van 3 cijfers die niet met 0 of 1 beginnen, dan 4 cijfers, met gangbare scheidingstekens.

Amerikaanse ZIP-code

Vijf cijfers, eventueel gevolgd door een koppelteken en nog vier (ZIP+4).

Britse postcode

Eén of twee letters, een cijfer, een optionele letter of cijfer, een optionele spatie, dan een cijfer en twee letters.

Controleert alleen de vorm. Accepteert ook sommige codes die niet bestaan.

Canadese postcode

Letter, cijfer, letter, optionele spatie, cijfer, letter, cijfer. De letters D, F, I, O, Q en U worden nooit gebruikt, en W en Z staan nooit vooraan.

HEX-kleur

Een # en dan 3, 4, 6 of 8 hexadecimale cijfers (de vormen met 4 en 8 bevatten transparantie).

Wachtwoord met gemengde tekens

Minstens 12 tekens, met een kleine letter, een hoofdletter, een cijfer en een symbool, gecontroleerd met lookaheads.

Lengte telt zwaarder dan mengen. Veel teams eisen nu alleen een minimale lengte en controleren tegen lijsten met gelekte wachtwoorden.

Gebruikersnaam

3 tot 20 tekens aan letters en cijfers; punten en underscores alleen daartussen toegestaan, nooit dubbel.

IPv4-adres

Vier getallen van 0 tot 255, gescheiden door punten, zonder voorloopnullen.

Datum, ISO 8601 (YYYY-MM-DD)

Jaartal van vier cijfers, maand 01 tot 12, dag 01 tot 31.

Het staat 2026-02-31 toe. Parse de datum daarna om dagen die niet bestaan af te wijzen.

Tijd, 24-uursnotatie (HH:MM)

Uren 00 tot 23, een dubbele punt, minuten 00 tot 59.

Tijd, 12-uursnotatie met am of pm

Uren 1 tot 12, minuten, dan am of pm met optionele punten en spatie.

Geheel getal

Optioneel minteken, dan 0 of een getal zonder voorloopnullen.

Decimaal getal

Een geheel getal met een optionele punt en minstens één cijfer daarna.

Prijs met duizendtalscheidingstekens

Optioneel dollarteken, cijfers met correcte kommagroepen (of geen), optioneel centen van twee cijfers.

Percentage 0 tot 100

Een getal van 0 tot 100 met optionele decimalen, gevolgd door %.

Vorm van kaartnummer (13 tot 19 cijfers)

13 tot 19 cijfers, eventueel gegroepeerd met spaties of streepjes.

Alleen de vorm. Gebruik de Luhn-controle en uw betaalprovider om een kaart te valideren.

Semantische versie

MAJOR.MINOR.PATCH zonder voorloopnullen, met optionele delen -prerelease en +build.

UUID

8-4-4-4-12 hexcijfers met een versiecijfer van 1 tot 8 en de standaardvariant.

Eenvoudige HTML-tag

Een openingstag, tekst zonder andere tags en de bijbehorende sluittag (de terugverwijzing \1 herhaalt de naam).

Parse geen volledige HTML met regex. Gebruik DOMParser of een HTML-parser.

Leeg of alleen witruimte

Niets dan spaties, tabs of regeleinden. Handig om lege formuliervelden af te wijzen.

Hashtag

Een # gevolgd door letters (in elk schrift), cijfers of underscores. Vereist de flag u voor \p{L}.

YouTube-videoadres

De gangbare vormen watch, embed, shorts en korte link. Groep 1 legt de video-ID van 11 tekens vast.

Bestandsnaam van afbeelding

Een bestandsnaam zonder tekens die niet in paden zijn toegestaan, eindigend op een gangbare afbeeldingsextensie.

Sociale handle (@naam)

Een @ en 1 tot 15 letters, cijfers of underscores, de regel die X (voorheen Twitter) hanteert.

Herhaald woord

Vindt een woord dat twee keer achter elkaar is getypt, zoals 'de de'. Niet verankerd, dus het zoekt binnen tekst.

(leeg)

matcht niet

Kopiëren

Moet matchen

Mag niet matchen

Probeer uw eigen waarde

Matcht

Geen match

Snelle tester

Patroon

Flags

Tekst

Geen matches.

op {n}:

groepen:

Syntaxis

Flags

{n} geteste patronen

Filter

e-mail, datum, telefoon…

Geen patroon past bij dat filter.

JavaScript, Python en PHP

Uitgebracht 2026-10, gepatcht 2026-11, gepland 2027-02.

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap