🧩
← Terug naar handleidingen

20 veelvoorkomende regex-patronen die elke ontwikkelaar zou moeten kennen

· Tags: common-regex-patterns, regex-examples, useful-regex, email-regex, url-regex, phone-regex

20 veelvoorkomende regex-patronen die elke ontwikkelaar zou moeten kennen

Regex lost echte problemen op: invoervalidatie, gegevensextractie en tekenreekstransformatie. Deze gids presenteert 20 kant-en-klare reguliere expressies voor de meest voorkomende tekstverwerkingstaken. Elk patroon bevat een uitleg van wat het matcht.

1. E-mailadres

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Het lokale deel staat letters, cijfers, punten en speciale tekens toe. Het domein staat letters, cijfers en punten toe. De TLD moet uit ten minste twee letters bestaan.

2. URL

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z]{2,}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)

Matcht HTTP/HTTPS-URL's met optionele www, domeinnaam, TLD, pad en querystring.

3. Amerikaans telefoonnummer

^\(?(\d{3})\)?[-.\s]?(\d{3})[-.\s]?(\d{4})$

Matcht (555) 123-4567, 555-123-4567, 555.123.4567 en 5551234567.

4. Internationaal telefoonnummer

^\+?(\d{1,3})\s?[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9}$

Toegeeflijk patroon voor internationale nummers met landcodes.

5. Sterk wachtwoord

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

Vereist 8+ tekens, één kleine letter, één hoofdletter, één cijfer, één speciaal teken. Maakt gebruik van lookahead-asserties.

6. Datum (YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$

ISO 8601-formaat. Maand 01-12, dag 01-31. Valideert niet de maandgrenzen (30 februari slaagt).

7. Datum (MM/DD/YYYY)

^(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])\/\d{4}$

Amerikaans formaat met schuine strepen.

8. Tijd (HH:MM 24-uurs)

^([01]\d|2[0-3]):[0-5]\d$

Uren 00-23, minuten 00-59.

9. IPv4-adres

^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$

Vier octetten. Vervang voor strikte validatie (0-255) \d{1,3} door (25[0-5]|2[0-4]\d|[01]?\d\d?).

10. IPv6-adres

^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

Volledig IPv6 met 8 groepen hexadecimale cijfers. Verwerkt de ::-afkorting niet.

11. MAC-adres

^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

Gescheiden door dubbele punt of koppelteken.

12. Hex-kleurcode

^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$

3-cijferig (#fff) of 6-cijferig (#ffffff), hoofdletterongevoelig.

13. Creditcardnummer

^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$

16 cijfers met optionele scheidingstekens. Valideert niet de Luhn-controlesom.

14. Amerikaanse postcode

^\d{5}(-\d{4})?$

12345 of 12345-6789.

15. Gebruikersnaam

^[a-zA-Z0-9_]{3,16}$

3-16 tekens, alleen letters, cijfers en underscores.

16. URL-slug

^[a-z0-9-]+$

Kleine letters, cijfers en koppeltekens. Gebruikelijk in CMS-systemen.

17. HTML-tag

<\/?[\w\s]*>|<.+[\w\s]*>

Matcht openings- en sluitings-tags. Niet geschikt voor geneste HTML.

18. Bestandsextensie

\.([a-zA-Z]{2,})$

Extraheert de extensie zonder de punt.

19. Whitespace-normalisatie

\s+

Vouwt meerdere spaties, tabs of nieuwe regels samen tot één.

20. Getallen extraheren

-?\d+(\.\d+)?

Gehele getallen en decimalen, inclusief negatieve.

Prestatietips

  • Wees specifiek — vermijd .*, wat catastrofale backtracking kan veroorzaken.
  • Veranker met ^ en $ om het zoekbereik te beperken.
  • Test randgevallen: lege tekenreeksen, lange tekenreeksen, speciale tekens.

Deze patronen online testen

Gebruik de regex-testertool om met deze patronen te experimenteren. Plak een willekeurige expressie, voer voorbeeldtekst in en zie overeenkomsten in realtime gemarkeerd. De tester toont vangende groepen en helpt patronen te debuggen vóór gebruik.

20 veelvoorkomende regex-patronen die elke ontwikkelaar zou moeten kennen - CoolTool