Wat is regex-matching?

Met regex-matching kun je profielen filteren op basis van tekstpatronen in plaats van exacte waarden. Dit is handig om profielen te vinden die een specifieke indeling volgen, zoals e-mailadressen van bepaalde domeinen of telefoonnummers in een bepaalde indeling.

⚠️ Belangrijk: Regex matcht altijd de volledige waarde van begin tot eind.

Hoe je regex gebruikt

Wanneer je een segment maakt, kun je twee regex-operators gebruiken:

  • Komt overeen met regex - Bevat profielen waarbij de waarde overeenkomt met je regex
  • Komt niet overeen met regex - Bevat profielen waarbij de waarde NIET overeenkomt met je regex

Je kunt dit gebruiken in de volgende segmentvoorwaarden:

  1. Eigenschappen over iemand (inclusief aangepaste objecten)

2. Filters op "Wat iemand wel of niet heeft gedaan" en "Stappen die iemand in een specifieke volgorde heeft gezet"

Basisprincipes van regex

Overeenkomende tekens

  • Letters en cijfers - Typ normaal: hallo komt overeen met "hallo"
  • Elk cijfer - Gebruik \d om elk getal 0-9 te matchen
  • Elke letter: gebruik [a-z] voor kleine letters, [A-Z] voor hoofdletters of [a-zA-Z] voor beide
  • Of/of - Gebruik | om opties te matchen: gmail|yahoo matcht "gmail" of "yahoo"
  • Alles: gebruik .* om overeen te komen met alle tekens

Speciale tekens

Voeg een backslash \ toe vóór deze om ze letterlijk te laten overeenkomen:

  • Punt: \\. komt overeen met een punt
  • Plusteken: \+ komt overeen met een plusteken
  • Haakjes: \( en \) komen overeen met haakjes

Herhalende patronen

  • {5} - Precies 5 keer (bijv. \d{5} komt overeen met 5 cijfers)
  • {2,4} - Tussen 2 en 4 keer
  • ? - Optioneel (0 of 1 keer)

Opmerking: we beperken herhalende patronen tot maximaal 1.000 herhalingen

Veelvoorkomende voorbeelden

E-mailadressen

  • Specifiek domein:
    • .*@example\.com
    • Overeenkomsten: john@example.com, support@example.com
  • Meerdere domeinen:
    • .*@(gmail|yahoo|hotmail)\.com
    • Komt overeen met: user@gmail.com, user@yahoo.com, user@hotmail.com
  • Elke .com E-mail:
    • .*@.*\.com

Telefoonnummers

  • 10-cijferig VS-nummer
    • \d{10}
    • Komt overeen met: 5551234567
  • Opgemaakt met haakjes:
    • \(\d{3}\) \d{3}-\d{4}
    • Komt overeen met: (555) 123-4567

Postcodes

  • ZIP van 5 cijfers:
    • \d{5}
    • Komt overeen met: 12345
  • Postcode+4:
    • \d{5}-\d{4}
    • Overeenkomsten: 12345-6789

Voor geavanceerde referenties: onze implementatie gebruikt Google RE2 als onze standaard. Lees hier meer.

RegEx-limieten

Limiet

Waarde

Voorbeeld

Lengte van regex

max. 1.000 tekens

-

Regex-regels

max. 100 regels

-

Herhalingen

max. 1.000 herhalingen

\d{1000} toegestaan
\d{1001} niet toegestaan

Opties (|)

max. 5 op hoofdniveau

a|b|c|d|e|f overschrijdt de limiet (6 opties)

Nestdiepte

Maximaal 5 niveaus

((((a)))) heeft 4 niveaus, toegestaan

Daarnaast worden de volgende functies momenteel niet ondersteund.

Uitgelicht

Voorbeeld

Lookahead/Lookbehind

(?=...), (?!...), (?<=...), (?<!...)

Terugverwijzingen

\1, \2, (\w+)\s+\1

Unicode-escapes

\uXXXX, \u00A0

Geneste kwantoren

(a+)+, (x*)*, (a{2,5})+

Tips voor succes

1. Regex komt overeen met de volledige waarde

Je regex moet de volledige waarde beschrijven, niet alleen een deel ervan.

Onjuist: gmail\.com (komt alleen overeen met de tekst "gmail.com")

Rechts: .*@gmail\.com (komt overeen met volledige e-mails zoals john@gmail.com)

2. Escape punten altijd

Bij het matchen van .com, .net, enz., schrijf je dit als \.com met een backslash.

Onjuist: @gmail.com (punt komt overeen met elk teken)

Rechts: @gmail\.com (komt overeen met een letterlijke punt)

3. Gebruik .* voor "Alles"

Alle tekens matchen met .*

  • .*@company\.com - Elk e-mailadres bij company.com
  • \+.* - Alles wat begint met +
  • .*dringend.* - Tekst die "dringend" bevat

4. Begin eenvoudig en verfijn daarna

Begin met een basis-regex en voeg geleidelijk details toe.

  • Voorbeeld: .*@gmail\.com → [a-z]+\.[a-z]+@gmail\.com

Splits complexe logica waar mogelijk op in meerdere eenvoudige filters.

  • Voorbeeld voor "Gmail- of Yahoo-e-mails uit Californië":
    • Filter 1: E-mail komt overeen met regex .*@(gmail|yahoo)\.com
    • Filter 2: staat is gelijk aan Californië

5. RegEx is standaard hoofdlettergevoelig

Als je een statement hoofdletterongevoelig wilt maken, kun je (?i) als voorvoegsel toevoegen.

  • Product komt overeen met (?i)^iphone$

Wanneer je RegEx gebruikt vs Standard-operators

Gebruik regex als je specifieke indelingen of patronen moet matchen. Voor eenvoudigere behoeften raden we je sterk aan om in plaats daarvan standaardoperators te gebruiken:

  • Bevat - Tekst verschijnt overal
  • Begint met - Komt overeen met het begin
  • Eindigt op - Komt overeen met het einde
  • Is gelijk aan - Exacte overeenkomst
Was dit artikel nuttig?
Gebruik dit formulier alleen voor feedback op artikelen. Meer informatie over hoe je contact opneemt met support.

Ontdek meer van Klaviyo

Community
Maak contact met collega's, partners en Klaviyo-experts om inspiratie op te doen, inzichten te delen en antwoorden te krijgen op al je vragen.
Partners
Huur een Klaviyo-gecertificeerde expert in om je te helpen met een specifieke taak of voor doorlopend marketingbeheer.
Support

Krijg ondersteuning via je account.

E-mailsupport (gratis proefperiodes en betaalde accounts) 24/7 beschikbaar

Chat-/virtuele assistentie
Beschikbaarheid varieert per locatie en type abonnement