Como usar correspondência de RegEx na segmentação
O que é correspondência com expressões regulares?
A correspondência de regex permite filtrar perfis com base em padrões de texto, em vez de valores exatos. Isso é útil para encontrar perfis que seguem um formato específico, como endereços de e-mail de determinados domínios ou números de telefone em um formato específico.
⚠️ Importante: As expressões regulares (Regex) sempre correspondem ao valor completo, do início ao fim.
Como usar regex
Ao criar um segmento, você pode usar dois operadores de regex:
- Corresponde à regex - Inclui perfis em que o valor corresponde à sua regex
- Não corresponde ao regex - Inclui perfis em que o valor NÃO corresponde ao seu regex
Ela pode ser usada nas seguintes condições de segmento:
- Propriedades sobre alguém (incluindo objetos personalizados)
2. Filtros em "O que alguém fez ou não fez" e "Etapas que alguém seguiu em uma ordem específica"
Noções Básicas de Regex
Caracteres correspondentes
- Letras e números — Digite normalmente: hello corresponde a "hello"
- Qualquer dígito: use \d para corresponder a qualquer número de 0 a 9
- Qualquer letra: use [a-z] para minúsculas, [A-Z] para maiúsculas ou [a-zA-Z] para ambas
- Ou/ou — Use | para corresponder às opções: gmail|yahoo corresponde a "gmail" ou "yahoo"
- Qualquer coisa - Use .* para corresponder a qualquer caractere
Caracteres especiais
Adicione uma barra invertida \ antes destes para corresponder a eles literalmente:
- Ponto final: \. corresponde a um ponto final
- Sinal de mais: \+ corresponde a um sinal de mais
- Parênteses: \( e \) correspondem a parênteses
Padrões Repetidos
- {5} - Exatamente 5 vezes (por exemplo, \d{5} corresponde a 5 dígitos)
- {2,4} - Entre 2 e 4 vezes
- ? - Opcional (0 ou 1 vez)
Observação: limitamos padrões repetidos a no máximo 1.000 repetições
Exemplos comuns
- Domínio específico:
- .*@example\.com
- Correspondências: john@example.com, support@example.com
- Vários domínios:
- .*@(gmail|yahoo|hotmail)\.com
- Correspondências: user@gmail.com, user@yahoo.com, user@hotmail.com
- Qualquer .com e-mail:
- .*@.*\.com
Números de Telefone
- Número dos EUA de 10 dígitos
- \d{10}
- Correspondências: 5.551.234.567
- Formatado com parênteses:
- \(\d{3}\) \d{3}-\d{4}
- Correspondências: (555) 123-4567
Códigos postais
- CEP de 5 dígitos:
- \d{5}
- Correspondências: 12345
- CEP+4:
- \d{5}-\d{4}
- Correspondências: 12345-6789
Para referências avançadas: nossa implementação usa o Google RE2 como padrão. Saiba mais aqui.
Limites de RegEx
Limite | Valor | Exemplo |
Comprimento da regex | máx. 1.000 caracteres | – |
Linhas de regex | máximo de 100 linhas | – |
Repetições | máximo de 1.000 repetições | \d{1000} permitido |
Opções (|) | Máximo de 5 no nível principal | a|b|c|d|e|f excede o limite (6 opções) |
Profundidade de aninhamento | No máximo 5 níveis | ((((a)))) tem 4 níveis, permitido |
Além disso, os seguintes recursos não são compatíveis no momento.
Destacar | Exemplo |
Lookahead/Lookbehind | (?=...), (?!...), (?<=...), (?<!...) |
Referências inversas | \1, \2, (\w+)\s+\1 |
Escapes Unicode | \uXXXX, \u00A0 |
Quantificadores aninhados | (a+)+, (x*)*, (a{2,5})+ |
Dicas para o sucesso
1. O regex corresponde ao valor completo
Sua regex deve descrever o valor inteiro, não apenas uma parte dele.
Incorreto: gmail\.com (corresponde apenas ao texto "gmail.com")
Direita: .*@gmail\.com (corresponde a e-mails completos, como john@gmail.com)
2. Sempre escape os pontos
Ao corresponder a .com, .net, etc., escreva como \\.com com uma barra invertida.
Incorreto: @gmail.com (o ponto corresponde a qualquer caractere)
À direita: @gmail\.com (corresponde a um ponto literal)
3. Use .* para "Anything"
Corresponda a quaisquer caracteres com .*
- .*@company\.com: qualquer e-mail em company.com
- \+.* - Qualquer coisa que comece com +
- .*urgente.* - Texto que contém "urgente"
4. Comece com o básico e, em seguida, refine
Comece com uma regex básica e adicione detalhes gradualmente.
- Exemplo: .*@gmail\.com → [a-z]+\.[a-z]+@gmail\.com
Divida lógicas complexas em vários filtros simples quando possível.
- Exemplo de "e-mails do Gmail ou Yahoo da Califórnia":
- Filtro 1: O e-mail corresponde à regex .*@(gmail|yahoo)\.com
- Filtro 2: estado igual a Califórnia
5. RegEx diferencia maiúsculas de minúsculas por padrão
Se você quiser que uma instrução ignore maiúsculas e minúsculas, você pode adicionar (?i) como um prefixo.
- Correspondências de produtos (?i)^iphone$
Quando usar RegEx vs. operadores Standard
Use regex quando você precisar corresponder a formatos ou padrões específicos. Para necessidades mais simples, recomendamos fortemente usar operadores padrão em vez disso:
- Contém - O texto aparece em qualquer lugar
- Começa com - Corresponde ao início
- Termina com - Corresponde ao final
- Igual = correspondência exata