Utilizzo della corrispondenza RegEx nella segmentazione
Che cos’è la corrispondenza regex?
La corrispondenza regex ti consente di filtrare i profili in base a modelli di testo anziché a valori esatti. È utile per trovare profili che seguono un formato specifico, come indirizzi e-mail di determinati domini o numeri di telefono in un formato particolare.
⚠️ Importante: Le espressioni regolari corrispondono sempre all’intero valore dall’inizio alla fine.
Come utilizzare Regex
Quando crei un segmento, puoi usare due operatori regex:
- Corrisponde alla regex - Include i profili in cui il valore corrisponde alla tua regex
- Non corrisponde a regex - Include i profili in cui il valore NON corrisponde alla tua regex
Puoi utilizzarlo nelle seguenti condizioni del segmento:
- Proprietà relative a una persona (incluse quelle degli oggetti personalizzati)
2. Filtri su "Cosa ha fatto o non ha fatto una persona" e "Azioni intraprese da una persona in un ordine specifico"
Informazioni di base su regex
Caratteri corrispondenti
- Lettere e numeri - Digita normalmente: hello corrisponde a "hello"
- Qualsiasi cifra - Usa \d per trovare qualsiasi numero da 0 a 9
- Qualsiasi lettera - Usa [a-z] per le minuscole, [A-Z] per le maiuscole o [a-zA-Z] per entrambe
- O l'uno o l'altro - usa | per abbinare le opzioni: gmail|yahoo corrisponde a "gmail" o "yahoo"
- Qualsiasi elemento: usa .* per trovare qualsiasi carattere
Caratteri speciali
Aggiungi una barra rovesciata \ prima di questi per farli corrispondere alla lettera:
- Punto: \. corrisponde a un punto
- Segno più: \+ corrisponde a un segno più
- Parentesi: \( e \) corrispondono alle parentesi
Modelli ripetuti
- {5} - Esattamente 5 volte (ad esempio, \d{5} corrisponde a 5 cifre)
- {2,4} - Tra 2 e 4 volte
- ? - Facoltativo (0 o 1 volta)
Nota: limitiamo i pattern ripetuti a un massimo di 1.000 ripetizioni
Esempi comuni
Indirizzi e-mail
- Dominio specifico:
- .*@example\.com
- Corrispondenze: john@example.com, support@example.com
- Più domini:
- .*@(gmail|yahoo|hotmail)\.com
- Corrispondenze: user@gmail.com, user@yahoo.com, user@hotmail.com
- Qualsiasi .com e-mail:
- \b\w+@\w+\.com\b
Numeri di telefono
- Numero USA a 10 cifre
- \d{10}
- Corrispondenze: 5551234567
- Formattato con parentesi:
- \(\d{3}\) \d{3}-\d{4}
- Corrispondenze: +39 (02) 123 4567
Codici postali
- CAP: 5 cifre:
- \d{5}
- Corrispondenze: 12345
- CAP+4:
- \d{5}-\d{4}
- Corrispondenze: 12345-6789
Per riferimenti avanzati: la nostra implementazione utilizza Google RE2 come standard. Per saperne di più, clicca qui.
Limiti RegEx
Limite | Valore | Esempio |
Lunghezza dell’espressione regolare | massimo 1.000 caratteri | - |
Righe regex | max 100 righe | - |
Ripetizioni | max 1.000 ripetizioni | \d{1000} consentito |
Opzioni (|) | Massimo 5 a livello principale | a|b|c|d|e|f supera il limite (6 opzioni) |
Profondità di annidamento | Max 5 livelli | ((((a)))) sono 4 livelli, consentiti |
Inoltre, le seguenti funzionalità non sono attualmente supportate.
Funzionalità | Esempio |
Lookahead/Lookbehind | (?=...), (?!...), (?<=...), (?<!...) |
Riferimenti incrociati | \1, \2, (\w+)\s+\1 |
Caratteri di escape Unicode | \uXXXX, \u00A0 |
Quantificatori nidificati | (a+)+, (x*)*, (a{2,5})+ |
Suggerimenti per il successo
1. L'espressione regolare corrisponde all'intero valore
La regex deve descrivere l’intero valore, non solo una parte.
Errato: gmail\.com (corrisponde solo al testo "gmail.com")
Destra: .*@gmail\.com (corrisponde a indirizzi e-mail completi come john@gmail.com)
2. Esegui sempre l’escape dei punti
Quando fai la corrispondenza con .com, .net, ecc., scrivilo come \.com con una barra rovesciata.
Sbagliato: @gmail.com (il punto corrisponde a qualsiasi carattere)
A destra: @gmail\.com (corrisponde al punto letterale)
3. Usa .* per "Qualsiasi cosa"
Abbina qualsiasi carattere con .*
- .*@company\.com - Qualsiasi e-mail su company.com
- \+.* - Qualsiasi elemento che inizia con +
- .*urgente.* - Testo contenente "urgente"
4. Inizia in modo semplice, poi affina
Inizia con un regex di base e aggiungi i dettagli gradualmente.
- Esempio: .*@gmail\.com → [a-z]+\.[a-z]+@gmail\.com
Quando possibile, dividi la logica complessa in più filtri semplici.
- Esempio per "e-mail Gmail o Yahoo dalla California":
- Filtro 1: e-mail corrisponde a regex .*@(gmail|yahoo)\\.com
- Filtro 2: stato uguale a California
5. Per impostazione predefinita, RegEx fa distinzione tra maiuscole e minuscole
Se vuoi rendere un’istruzione senza distinzione tra maiuscole e minuscole, puoi aggiungere (?i) come prefisso.
- Le corrispondenze del prodotto (?i)^iphone$
Quando usare RegEx rispetto agli operatori Standard
Usa le regex quando devi trovare corrispondenze con formati o pattern specifici. Per esigenze più semplici, ti consigliamo vivamente di usare invece operatori standard:
- Contiene - il testo appare ovunque
- Inizia con - Corrisponde all’inizio
- Termina con - Corrisponde alla parte finale
- Corrisponde a - Corrispondenza esatta