Uso de coincidencia de RegEx en segmentación
¿Qué es la coincidencia de regex?
La coincidencia de regex te permite filtrar perfiles según patrones de texto en lugar de valores exactos. Esto es útil para encontrar perfiles que siguen un formato específico, como direcciones de correo electrónico de ciertos dominios o números de teléfono en un formato determinado.
⚠️ Importante: las expresiones regulares siempre coinciden con el valor completo de principio a fin.
Cómo usar regex
Cuando creas un segmento, puedes usar dos operadores de regex:
- Coincide con regex: incluye perfiles en los que el valor coincide con tu regex
- No coincide con la expresión regular: incluye perfiles en los que el valor NO coincide con tu expresión regular
Se puede usar en las siguientes condiciones de segmento:
- Propiedades sobre alguien (incluidos los objetos personalizados)
2. Filtros en "Lo que alguien ha hecho o no ha hecho" y "Pasos que alguien ha seguido en un orden específico"
Conceptos básicos de regex
Caracteres coincidentes
- Letras y números: escribe normalmente: hello coincide con "hello"
- Cualquier dígito: usa \d para que coincida con cualquier número del 0 al 9
- Cualquier letra: usa [a-z] para minúsculas, [A-Z] para mayúsculas o [a-zA-Z] para ambas
- O uno u otro: usa | para que coincida con opciones: gmail|yahoo coincide con "gmail" o con "yahoo"
- Cualquiera: usa .* para coincidir con cualquier carácter
Caracteres especiales
Agrega una barra invertida \\ antes de estos para que coincidan literalmente:
- Punto: \. coincide con un punto
- Signo más: \+ coincide con un signo más
- Paréntesis: \( y \) coinciden con paréntesis
Patrones repetidos
- {5} - Exactamente 5 veces (p. ej., \d{5} coincide con 5 dígitos)
- {2,4} - Entre 2 y 4 veces
- ? - Opcional (0 o 1 vez)
Nota: limitamos los patrones repetidos a un máximo de 1000 repeticiones
Ejemplos comunes
Direcciones de correo electrónico
- Dominio específico:
- .*@example\.com
- Coincidencias: john@example.com, support@example.com
- Varios dominios:
- .*@(gmail|yahoo|hotmail)\.com
- Coincidencias: user@gmail.com, user@yahoo.com, user@hotmail.com
- Cualquier .com correo electrónico:
- .*@.*\.com
Números de teléfono
- Número de EE.UU. de 10 dígitos
- \d{10}
- Coincidencias: 5551234567
- Con formato con paréntesis:
- \(\d{3}\) \d{3}-\d{4}
- Coincide con: (555) 123-4567
Códigos postales
- Código postal de 5 dígitos:
- \d{5}
- Coincidencias: 12345
- ZIP+4:
- \d{5}-\d{4}
- Coincidencias: 12345-6789
Para referencias avanzadas: nuestra implementación usa Google RE2 como estándar. Obtén más información aquí.
Límites de RegEx
Límite | Valor | Ejemplo |
Longitud de la expresión regular | máximo 1000 caracteres | - |
Líneas de regex | máx. 100 líneas | - |
Repeticiones | máx. 1000 repeticiones | \d{1000} permitido |
Opciones (|) | 5 máximo en el nivel principal | a|b|c|d|e|f supera el límite (6 opciones) |
Profundidad de anidación | 5 niveles como máximo | ((((a)))) tiene 4 niveles, permitidos |
Además, en este momento no se admiten las siguientes funciones.
Destacar | Ejemplo |
Lookahead/Lookbehind | (?=...), (?!...), (?<=...), (?<!...) |
Referencias inversas | \1, \2, (\w+)\s+\1 |
Secuencias de escape Unicode | \uXXXX, \u00A0 |
Cuantificadores anidados | (a+)+, (x*)*, (a{2,5})+ |
Consejos para tener éxito
1. La expresión regular coincide con el valor completo
Tu expresión regular debe describir todo el valor, no solo una parte.
Incorrecto: gmail\.com (solo coincide con el texto "gmail.com")
Derecha: .*@gmail\.com (coincide con correos electrónicos completos como john@gmail.com)
2. Siempre escapa los puntos
Al hacer coincidencia con .com, .net, etc., escríbelo como \.com con una barra invertida.
Incorrecto: @gmail.com (el punto coincide con cualquier carácter)
Derecha: @gmail\.com (coincide con punto literal)
3. Usa .* para "Cualquier cosa"
Coincide con cualquier carácter con .*
- .*@company\.com: cualquier correo electrónico en company.com
- \+.* - Cualquier cosa que comience con +
- .*urgente.* - Texto que contiene "urgente"
4. Empieza con lo básico y después perfecciona
Empieza con una expresión regular básica y agrega detalles gradualmente.
- Ejemplo: .*@gmail\.com → [a-z]+\.[a-z]+@gmail\.com
Divide la lógica compleja en múltiples filtros simples cuando sea posible.
- Ejemplo de "correos electrónicos de Gmail o Yahoo de California":
- Filtro 1: el correo electrónico coincide con la expresión regular .*@(gmail|yahoo)\.com
- Filtro 2: el estado es igual a California
5. RegEx distingue entre mayúsculas y minúsculas de forma predeterminada
Si quieres que una declaración no distinga entre mayúsculas y minúsculas, puedes agregar (?i) como prefijo.
- La coincidencia de productos (?i)^iphone$
Cuándo usar RegEx vs. operadores Standard
Usa expresiones regulares cuando necesites coincidir con formatos o patrones específicos. Para necesidades más simples, se recomienda ampliamente usar operadores estándar en su lugar:
- Contiene: el texto aparece en cualquier parte
- Empieza con - Coincide con el principio
- Termina con - Coincide con el final
- Igual a - coincidencia exacta