Análisis de números telefónicos de Estados Unidos

Esta plantilla muestra la manera de analizar números telefónicos de EE. UU. en sus segmentos componentes. La regla de análisis separa cada muestra en el campo Número de teléfono y copia las distintas muestras en cuatro campos: Código de país, Código de área, Central y Número.

Situación empresarial posible

Usted trabaja para un proveedor de servicios inalámbricos y le han asignado la tarea de analizar los datos de números telefónicos entrantes de una región en crecimiento de su sector empresarial.

El siguiente flujo de datos ofrece una solución ante una posible situación empresarial:



Esta plantilla de flujo de datos está disponible en Enterprise Designer. Vaya a Archivo > Nuevo > Flujo de datos > A partir de plantilla y seleccione Analizar número telefónico de EE.UU.. Este flujo de datos requiere el módulo Data Normalization.

En este flujo de datos, los datos se leen desde un archivo y se procesan mediante la etapa Open Parser (Analizador abierto). Para cada fila de datos del archivo de entrada, este flujo de datos hará lo siguiente:

Read from File

Esta etapa identifica el nombre de archivo, la ubicación y el diseño del archivo que contiene los números de teléfono que desea analizar.

Open Parser

La etapa Open Parser (Analizador abierto) define si se utiliza una gramática de dominio específica de una cultura creada en Domain Editor o si se define una gramática independiente de dominio. Una gramática de análisis específica de una cultura creada en Domain Editor es una gramática de análisis validada que está asociada a una cultura y un dominio. Una gramática de análisis independiente de dominio creada en Open Parser es una gramática de análisis validada que no está asociada a una cultura ni un dominio.

En esta plantilla, la gramática de análisis se define como una gramática independiente de dominio.

La etapa Open Parser contiene una gramática de análisis que define los siguientes comandos y expresiones:

  • %Tokenize está configurado en Ninguno. Cuando se define Tokenize en None, la regla gramatical de análisis debe incluir todos los espacioes u otros separadores de muestra al interior de su definición de regla.
  • %InputField está configurado para analizar los datos de entrada provenientes del campo PhoneNumber.
  • %OutputFields está configurado para segmentar en cuatro campos los datos analizados: CountryCode, AreaCode, Intercambiar y Número.
  • La expresión <root> define el patrón de las muestras que se analizan, e incluye instrucciones OR (|), de modo que un número telefónico válido sea:
  • Código de país, Código de área, Central y Número O BIEN
  • Código de área, Central y Número O BIEN
  • Central y Número

La gramática de análisis utiliza una combinación de expresiones regulares y caracteres literales para construir un patrón de números telefónicos. Los caracteres entre comillas dobles en esta gramática de análisis son caracteres literales o una expresión regular.

El carácter más (+) que se utiliza en este comando <root> se define como un carácter literal porque está encerrado entre comillas. Es posible utilizar comillas simples o dobles para indicar que un carácter es literal. Si el signo más se utiliza sin comillas, significa que la expresión que precede al signo puede ocurrir una o más veces.

Las reglas de dominio del número telefónico están definidas para coincidir con los siguientes patrones de caracteres:

  • Cero o una ocurrencia de un carácter "+".
  • La regla Código de país, que es un dígito único entre 0 y 9.
  • Cero o una ocurrencia de un carácter de paréntesis abierto, un guion o un espacio. Si dos de estos caracteres aparecen en secuencia, se produce un resultado sin coincidencias o, en otras palabras, un número telefónico no válido.
  • La regla Código de área, que es una secuencia de exactamente tres dígitos entre 0 y 9.
  • Cero o una ocurrencia de un carácter de paréntesis abierto, un guion o un espacio. Si dos de estos caracteres aparecen en secuencia, se produce un resultado sin coincidencias o, en otras palabras, un número telefónico no válido.
  • La regla Central, que es una secuencia de exactamente tres dígitos entre 0 y 9.
  • Cero o una ocurrencia de un carácter de paréntesis abierto, un guion o un espacio. Si dos de estos caracteres aparecen en secuencia, se produce un resultado sin coincidencias o, en otras palabras, un número telefónico no válido.
  • La regla Número, que es una secuencia de exactamente cuatro dígitos entre 0 y 9.

Las variables de regla que definen el dominio deben utilizar los mismos nombres que los campos de salida definidos en el comando OutputFields requerido.

Expresiones regulares y cuantificadores de expresión

La gramática de análisis utiliza una combinación de expresiones regulares y de cuantificadores de expresión a fin de construir un patrón de números telefónicos de Estados Unidos. La gramática de análisis utiliza estos caracteres especiales:

  • El carácter "?" significa que una expresión regular puede ocurrir cero veces o una vez.
  • El carácter (|) indica una condición OR.
  • El carácter ";" indica el final de una regla.

Utilice la ficha Comandos para explorar el significado del resto de los símbolos especiales que puede utilizar en las gramáticas de análisis pasando el mouse sobre la descripción.

Utilización de la ficha Vista previa

Para probar la gramática de análisis, haga clic en la ficha Vista previa. Ingrese los números telefónicos que se muestran más abajo en el campo Número telefónico y después haga clic en Vista previa.



También es posible ingresar otros números telefónicos válidos y no válidos para ver cómo se analizan los datos de entrada.

También es posible utilizar la función de seguimiento para ver una representación gráfica de los resultados finales de análisis o para recorrer los eventos de análisis. Haga clic en el enlace de la columna Seguimiento para ver los Detalles de seguimiento de la fila de datos.

Write to File

La plantilla contiene una etapa Write to File (Escritura en archivo). Además del campo de entrada, el archivo de salida incluye los campos Código de país, Código de área, Central y Número .