Cómo extraer un teléfono de un texto con una expresión regular

Ejemplo práctico: encontrar un teléfono en un texto, elegir un preset regex, conservar el número encontrado y normalizarlo.

Un proveedor puede enviar el teléfono dentro de un texto, por ejemplo Tel.: +34 600 123 456 ext. 24. En los ajustes del valor puedes encontrar el número con una expresión regular, conservar el fragmento encontrado y después normalizarlo.

La regla está disponible en transformaciones de valores para fuentes XML, JSON y tablas. Puedes escribir la expresión regular manualmente o elegir un preset con el botón de estrella junto al campo del patrón.

Elige una expresión regular desde los presets

Para extraer un teléfono, usa la condición expresión regular y la acción eliminar todo excepto. Esta acción conserva el fragmento encontrado completo y elimina el texto que lo rodea.

  1. Abre los ajustes del valor del campo de teléfono.
  2. Añade una regla y selecciona la condición expresión regular.
  3. Haz clic en la estrella y elige un preset de teléfono.
  4. Selecciona eliminar todo excepto como acción y guarda la regla.
Animación de selección de una expresión regular para teléfono desde los presets de Eofferix
El preset inserta el patrón en el campo de expresión regular; después se puede editar manualmente.

Opción 1: conservar el teléfono encontrado

Úsalo cuando necesites quitar el texto alrededor del teléfono, pero mantener el formato del número tal como viene en la fuente.

AntesReglaDespués
Contacto: +34 600 123 456 ext. 24\+?\d[\d\s().-]{8,}\d + eliminar todo excepto+34 600 123 456
teléfono 34 915 550 104\+?\d[\d\s().-]{8,}\d + eliminar todo excepto34 915 550 104

Opción 2: normalizar el número

Si necesitas un único signo más al inicio, usa una secuencia de tres reglas: primero conserva el teléfono encontrado, luego elimina todos los caracteres que no sean dígitos con la expresión regular \D+ y después añade + al inicio cuando el valor actual no está vacío.

Reglas secuenciales para limpiar un teléfono en Eofferix
La segunda regla elimina todos los caracteres no numéricos con una expresión regular; la tercera añade + a un valor no vacío.
AntesSecuenciaDespués
Tel.: +34 600 123 456 ext. 24conservar teléfono → eliminar \D+ → si el valor actual no está vacío, añadir ++34600123456
34 915 550 104conservar teléfono → eliminar \D+ → si el valor actual no está vacío, añadir ++34915550104

Detalles importantes

  • eliminar todo excepto conserva la primera coincidencia completa. No recopila todos los dígitos uno por uno.
  • Para normalizar el número a dígitos, usa la expresión regular \D+ con la acción eliminar subcadena.
  • Si necesitas una normalización específica del código de país, añade esa regla antes del paso final con +.