Korzystanie z dopasowywania RegEx w segmentacji
Czym jest dopasowanie wyrażeń regularnych?
Dopasowywanie wyrażeń regularnych pozwala filtrować profile na podstawie wzorców tekstu, a nie dokładnych wartości. Jest to przydatne do znajdowania profili, które mają określony format, np. adresów e-mail z konkretnych domen lub numerów telefonu w określonym formacie.
⚠️ Ważne: Wyrażenie regularne zawsze dopasowuje całą wartość od początku do końca.
Jak używać wyrażeń regularnych
Podczas tworzenia segmentu możesz użyć dwóch operatorów regex:
- Dopasowuje wyrażenia regularne — uwzględnia profile, w których wartość pasuje do wyrażenia regularnego
- Nie pasuje do wyrażenia regularnego — obejmuje profile, w których wartość NIE pasuje do Twojego wyrażenia regularnego
Może być używane w następujących warunkach segmentu:
- Właściwości dotyczące danej osoby (w tym obiekty niestandardowe)
2. Filtry dotyczące „Co ktoś zrobił lub nie zrobił” oraz „Kroki, które ktoś wykonał w określonej kolejności”
Podstawy wyrażeń regularnych
Dopasowywanie znaków
- Litery i cyfry — wpisz normalnie: hello pasuje do "hello"
- Dowolna cyfra — użyj \d, aby dopasować dowolną liczbę 0–9
- Dowolna litera – użyj [a-z] dla małych liter, [A-Z] dla wielkich liter lub [a-zA-Z] dla obu
- Albo/albo – Użyj |, aby dopasować opcje: gmail|yahoo pasuje do „gmail” lub „yahoo”
- Cokolwiek — użyj .* do dopasowania dowolnych znaków
Znaki specjalne
Dodaj ukośnik odwrotny \ przed tymi elementami, aby dopasować je dosłownie:
- Kropka: \. dopasowuje kropkę
- Znak plusa: \+ pasuje do znaku plusa
- Nawiasy: \( i \) dopasowują nawiasy
Powtarzające się wzorce
- {5} – Dokładnie 5 razy (np. \d{5} dopasowuje 5 cyfr)
- {2,4} – Od 2 do 4 razy
- ? – Opcjonalne (0 lub 1 raz)
Uwaga: ograniczamy powtarzające się wzorce do maksymalnie 1000 powtórzeń
Typowe przykłady
Adresy e-mail
- Konkretna domena:
- .*@example\.com
- Dopasowania: john@example.com, support@example.com
- Wiele domen:
- .*@(gmail|yahoo|hotmail)\.com
- Pasuje: user@gmail.com, user@yahoo.com, user@hotmail.com
- Dowolna domena .com adres e-mail:
- .*@.*\.com
Numery telefonów
- 10-cyfrowy numer w USA
- \d{10}
- Dopasowania: 5551234567
- Sformatowane z nawiasami:
- \(\d{3}\) \d{3}-\d{4}
- Dopasowania: (555) 123–4567
Kody pocztowe
- 5-cyfrowy kod pocztowy:
- \d{5}
- Dopasowania: 12345
- ZIP+4:
- \d{5}-\d{4}
- Dopasowania: 12345-6789
Dla zaawansowanych informacji: nasza implementacja używa Google RE2 jako naszego standardu. Więcej informacji znajdziesz tutaj.
Ograniczenia RegEx
Limit | Wartość | Przykład |
Długość wyrażenia regularnego | maks. 1000 znaków | - |
Wiersze wyrażeń regularnych | maks. 100 wierszy | - |
Powtórzenia | maks. 1000 powtórzeń | \d{1000} dozwolone |
Opcje (|) | Maks. 5 na głównym poziomie | a|b|c|d|e|f przekracza limit (6 opcji) |
Głębokość zagnieżdżenia | Maksymalnie 5 poziomów | ((((a)))) ma 4 poziomy, dozwolone |
Dodatkowo następujące funkcje nie są obecnie obsługiwane.
Wyróżnij | Przykład |
Lookahead/Lookbehind | (?=...), (?!...), (?<=...), (?<!...) |
Odniesienia wsteczne | \1, \2, (\w+)\s+\1 |
Sekwencje ucieczki Unicode | \uXXXX, \u00A0 |
Zagnieżdżone kwantyfikatory | (a+)+, (x*)*, (a{2,5})+ |
Wskazówki, jak osiągnąć sukces
1. Wyrażenie regularne pasuje do całej wartości
Wyrażenie regularne musi opisywać całą wartość, a nie tylko jej część.
Niepoprawnie: gmail\.com (dopasowuje tylko tekst „gmail.com”)
Prawy: .*@gmail\.com (dopasowuje pełne adresy e-mail, np. john@gmail.com)
2. Zawsze stosuj znak ucieczki przed kropkami
Podczas dopasowywania .com, .net, itd. zapisuj to jako \.com z ukośnikiem odwrotnym.
Nieprawidłowo: @gmail.com (kropka pasuje do dowolnego znaku)
Po prawej: @gmail\.com (dopasowuje dosłowną kropkę)
3. Użyj .* dla „Anything”
Dopasuj dowolne znaki za pomocą .*
- .*@company\.com — dowolny adres e-mail w domenie company.com
- \+.* - Wszystko zaczynające się od +
- .*pilne.* - Tekst zawierający "pilne"
4. Zacznij od prostych rozwiązań, a potem dopracuj szczegóły
Zacznij od podstawowego wyrażenia regularnego i stopniowo dodawaj szczegóły.
- Przykład: .*@gmail\.com → [a-z]+\.[a-z]+@gmail\.com
Jeśli to możliwe, dziel złożoną logikę na wiele prostych filtrów.
- Przykład dla "wiadomości e-mail w Gmailu lub Yahoo z Kalifornii":
- Filtr 1: Adres e-mail pasuje do wyrażenia regularnego .*@(gmail|yahoo)\.com
- Filtr 2: stan równa się Kalifornia
5. RegEx domyślnie rozróżnia wielkość liter
Jeśli chcesz, aby w instrukcji dopasowanie nie rozróżniało wielkości liter, możesz dodać (?i) jako prefiks.
- Dopasowanie produktu (?i)^iphone$
Kiedy używać wyrażeń regularnych (RegEx), a kiedy operatorów Standard
Regex jest używany, gdy wymagane jest dopasowanie określonych formatów lub wzorców. Dla prostszych potrzeb zdecydowanie zalecamy użycie standardowych operatorów:
- Zawiera – tekst pojawia się w dowolnym miejscu
- Zaczyna się od — dopasowuje początek
- Kończy się na – Dopasowuje zakończenie
- Równa się – dokładne dopasowanie