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.
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.
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.
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.
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.
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.
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.
Overzicht van regex-syntaxis (JavaScript-variant)
JavaScript-flags
Dezelfde ideeën in JavaScript, Python en PHP
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.
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.
Labels van letters, cijfers en koppeltekens binnenin, gescheiden door punten, eindigend op een topleveldomein van alleen letters.
Kleine letters en cijfers in groepen, verbonden door enkele koppeltekens.
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.
Optioneel +1, een netnummer en centralecode van 3 cijfers die niet met 0 of 1 beginnen, dan 4 cijfers, met gangbare scheidingstekens.
Vijf cijfers, eventueel gevolgd door een koppelteken en nog vier (ZIP+4).
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.
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.
Een # en dan 3, 4, 6 of 8 hexadecimale cijfers (de vormen met 4 en 8 bevatten transparantie).
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.
3 tot 20 tekens aan letters en cijfers; punten en underscores alleen daartussen toegestaan, nooit dubbel.
Vier getallen van 0 tot 255, gescheiden door punten, zonder voorloopnullen.
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.
Uren 00 tot 23, een dubbele punt, minuten 00 tot 59.
Uren 1 tot 12, minuten, dan am of pm met optionele punten en spatie.
Optioneel minteken, dan 0 of een getal zonder voorloopnullen.
Een geheel getal met een optionele punt en minstens één cijfer daarna.
Optioneel dollarteken, cijfers met correcte kommagroepen (of geen), optioneel centen van twee cijfers.
Een getal van 0 tot 100 met optionele decimalen, gevolgd door %.
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.
MAJOR.MINOR.PATCH zonder voorloopnullen, met optionele delen -prerelease en +build.
8-4-4-4-12 hexcijfers met een versiecijfer van 1 tot 8 en de standaardvariant.
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.
Niets dan spaties, tabs of regeleinden. Handig om lege formuliervelden af te wijzen.
Een # gevolgd door letters (in elk schrift), cijfers of underscores. Vereist de flag u voor \p{L}.
De gangbare vormen watch, embed, shorts en korte link. Groep 1 legt de video-ID van 11 tekens vast.
Een bestandsnaam zonder tekens die niet in paden zijn toegestaan, eindigend op een gangbare afbeeldingsextensie.
Een @ en 1 tot 15 letters, cijfers of underscores, de regel die X (voorheen Twitter) hanteert.
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