Uso de coincidencias de RegEx en la segmentación
¿Qué es la coincidencia de expresiones regulares?
La coincidencia de regex te permite filtrar perfiles en función de patrones de texto en lugar de valores exactos. Esto es útil para encontrar perfiles que siguen un formato específico, como direcciones de email de determinados dominios o números de teléfono en un formato concreto.
⚠️ Importante: La regex siempre coincide con el valor completo, de principio a fin.
Cómo usar Regex
Al crear un segmento, puedes usar dos operadores de regex:
- Coincide con regex: incluye perfiles cuyo 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
Puede usarse en las siguientes condiciones del segmento:
- Propiedades sobre alguien (incluidos los objetos personalizados)
2. Filtros en «Qué ha hecho o no ha hecho alguien» y «Pasos que alguien ha seguido en un orden específico»
Aspectos básicos de regex
Caracteres coincidentes
- Letras y números: escribe normalmente: hello coincide con "hello"
- Cualquier dígito: usa \d para hacer coincidir 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
- Una u otra: usa | para hacer coincidir opciones: gmail|yahoo coincide con "gmail" o "yahoo"
- Cualquiera: utiliza .* para que coincida con cualquier carácter
Caracteres especiales
Añade 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 repetitivos
- {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 de repetición a un máximo de 1000 repeticiones
Ejemplos comunes
Direcciones de email
- Dominio específico:
- .*@example\.com
- Coincidencias: juan@ejemplo.com, asistencia@ejemplo.com
- Varios dominios:
- .*@(gmail|yahoo|hotmail)\.com
- Coincidencias: usuario@gmail.com, usuario@yahoo.com, user@hotmail.com
- Cualquier .com Email:
- .*@.*\.com
Números de teléfono
- Número de EE. UU. de 10 dígitos
- \d{10}
- Coincidencias: 5551234567
- Con formato de 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 consultar referencias avanzadas: nuestra implementación usa Google RE2 como nuestro estándar. Obtén más información aquí.
Límites de RegEx
Límite | Valor | Ejemplo |
Longitud de regex | máximo 1000 caracteres | - |
Líneas de regex | máximo 100 líneas | - |
Repeticiones | máximo 1000 repeticiones | \d{1000} permitido |
Opciones (|) | 5 máx. en el nivel principal | a|b|c|d|e|f supera el límite (6 opciones) |
Profundidad de anidamiento | 5 niveles máximo | ((((a)))) tiene 4 niveles, permitido |
Además, en este momento no se admiten las siguientes funciones.
Función | Ejemplo |
Búsqueda hacia delante/búsqueda hacia atrás | (?=...), (?!...), (?<=...), (?<!...) |
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 regex debe describir el valor completo, no solo una parte.
Incorrecto: gmail\.com (solo coincide con el texto "gmail.com")
Derecha: .*@gmail\.com (coincide con emails completos como juan@gmail.com)
2. Escapa siempre los puntos
Al hacer coincidir .com, .net, etc., escríbelo como \.com con una barra invertida.
Incorrecto: @gmail.com (el punto coincide con cualquier carácter)
Correcto: @gmail\.com (coincide con el punto literal)
3. Usa .* para "Cualquier cosa"
Coincidir con cualquier carácter con .*
- .*@empresa\.com - Cualquier email a empresa.com
- \+.* - Cualquier cosa que empiece por +
- .*urgent.* - Texto que contiene "urgent"
4. Empieza con lo básico y luego perfecciona
Empieza con una expresión regular básica y ve añadiendo detalles poco a poco.
- Ejemplo: .*@gmail\.com → [a-z]+\.[a-z]+@gmail\.com
Divide la lógica compleja en varios filtros sencillos siempre que sea posible.
- Ejemplo de «emails de Gmail o Yahoo de California»:
- Filtro 1: el email coincide con la expresión regular .*@(gmail|yahoo)\.com
- Filtro 2: el estado es California
5. RegEx distingue entre mayúsculas y minúsculas de forma predeterminada
Si quieres que una instrucción no distinga entre mayúsculas y minúsculas, puedes añadir (?i) como prefijo.
- Coincidencias de productos (?i)^iphone$
Cuándo usar RegEx frente a los operadores Standard
Usa expresiones regulares cuando necesites hacer coincidir formatos o patrones específicos. Para necesidades más sencillas, te recomendamos encarecidamente que uses operadores estándar en su lugar:
- Contiene: el texto aparece en cualquier lugar
- Empieza por: coincide con el principio
- Termina con - Coincide con el final
- Es igual a: coincidencia exacta