Padrões e expressões regulares em regras de normalização de campo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • As definições de Transformação de campo são compatíveis com o uso de expressões regulares (referidas na plataforma como regex e correspondência de padrão para determinar a posição dos caracteres em uma cadeia de caracteres.

    Depois de identificar os caracteres de destino, a transformação de campo pode substituir ou excluir os caracteres identificados ou inserir outros caracteres nessa posição.

    Regex

    Expressões regulares podem ser usadas em parâmetros de transformação e em instruções de condição para determinar quais caracteres em um valor de campo são transformados.

    As expressões regulares usadas como parâmetros para localizar caracteres em valores de campo transformados devem começar com /regex/. Tudo depois disso é uma expressão regular que é usada para calcular a posição do caractere.

    Exemplo

    Os nomes dos computadores em de uma organização Windows a rede é expressa como domínio/nome da máquina, como devlab01 . O administrador de rede deseja simplificar esses nomes removendo o nome de domínio e a barra invertida. Ele cria um registro de transformação para a tabela Computador [cmdb_ci_computer] e seleciona Nome campo a ser transformado.
    Figura 1. Exemplo de regex de transformação
    A rede contém vários domínios e cada domínio contém vários computadores. O único caractere comum a cada nome é a barra invertida. Para excluir o nome de domínio, o administrador decide usar uma expressão regular para substituir todo o valor bruto no campo pelos caracteres que aparecem após a barra invertida (o nome real da máquina). Ele cria uma nova transformação usando Substituir Como o Tipo de transformação e insere os seguintes valores:
    • Localizar: /regex/.* (.*)
    • Substituir por: $1
    Figura 2. Exemplo de regex de transformação

    A expressão regular (.*) representa todo o valor bruto em Nome campo - neste exemplo devlab01 . A primeira parte da expressão, .* , representa tudo antes da barra invertida (o. desenvolvimento nome do domínio). A barra invertida por si só é o caractere de escape em expressões regulares e requer sintaxe especial para manter sua função no nome do computador. O administrador deve escape usando outra barra invertida ("significa"). A parte da expressão após a barra invertida, (.*) , representa o nome do computador ( devlab01 e é agrupado entre parênteses para referência. O valor em Substitua por campo, $1 , faz referência a este grupo e substitui todo o valor bruto do campo pelo conteúdo do grupo, devlab01 .

    O administrador clica em Transformações de teste no registro de transformação e entra devlab01 em Dados brutos campo. Em seguida, ele clica OK para aplicar a transformação ao valor de teste. A transformação substitui devlab01 com devlab01 .
    Figura 3. Transformação Regex 3

    Quando as transformações deste campo são testadas com sucesso, o administrador muda Modo no registro de transformação para Ativo E executam o trabalho de dados da aplicação de transformação para aplicar essa transformação aos registros existentes no banco de dados.