Regular expressions and patterns in field normalization rules

  • Release version: Yokohama
  • Updated January 30, 2025
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Regular expressions and patterns in field normalization rules

    ServiceNow’s Field Transformation definitions allow customers to use regular expressions (regex) and pattern matching to identify specific characters within field values. This capability enables precise modifications such as replacing, deleting, or inserting characters at identified positions within strings during data transformation processes.

    Show full answer Show less

    Key Features

    • Regex Usage in Transformations: Regular expressions can be applied in transform parameters and condition statements to specify which parts of a field value to transform.
    • Regex Syntax: When using regex as a parameter for locating characters, the expression must start with /regex/, followed by the actual regex pattern to determine character positions.
    • Practical Example: For computer names formatted as domain\machine name (e.g., development\devlab01), a regex can extract the machine name by removing the domain and backslash.
    • Escape Characters: Special characters such as backslash \ require escaping in regex (e.g., \\ represents a literal backslash).
    • Group Referencing: Parentheses () in regex define groups, which can be referenced in the replacement string (e.g., $1 references the first group).

    Applying Transformations

    To implement a transformation using regex, configure a Transform record for the target table and field, choose the Transform Type (such as Replace), and specify the Find and Replace with fields using regex syntax. Testing the transform with sample raw data ensures the regex performs as expected before activating it.

    Once tested successfully, activating the transform and running the Transformation application data job applies the changes to existing database records, enabling bulk normalization of field values.

    Field Transformation definitions support the use of regular expressions (referred to in the platform as regex) and pattern matching for determining the position of characters in a string.

    After identifying the target characters, field transformation can replace or delete the identified characters or insert other characters at that position.

    Regex

    Regular expressions can be used in transform parameters and in condition statements to determine which characters in a field value are transformed.

    Regular expressions used as parameters to locate characters in transformed field values must begin with /regex/. Everything after that is a regular expression that is used to calculate character position.

    Example

    The computer names in an organization's Windows network are expressed as domain\machine name, such as development\devlab01. The network administrator wants to simplify these names by removing the domain name and backslash. He creates a transformation record for the Computer [cmdb_ci_computer] table and selects the Name field to transform.
    Figure 1. Transformation regex example
    The network contains several domains, and each domain contains numerous computers. The only character common to each name is the backslash. To delete the domain name, the administrator decides to use a regular expression to replace the entire raw value in the field with the characters that appear after the backslash (the actual machine name). He creates a new Transform using Replace as the Transform Type and enters the following values:
    • Find:/regex/.*\\(.*)
    • Replace with:$1
    Figure 2. Transformation regex example

    The regular expression .*\\(.*) represents the entire raw value in the Name field - in this example development\devlab01. The first part of the expression, .*, represents everything before the backslash (the development domain name). The backslash by itself is the escape character in regular expressions and requires special syntax to retain its function in the computer name. The administrator must escape it by using another backslash (\\ means \). The part of the expression after the backslash, (.*), represents the computer name (devlab01) and is grouped within parentheses for reference. The value in the Replace with field, $1, references this group and replaces the entire raw value of the field with the contents of the group, devlab01.

    The administrator clicks Test transforms in the transformation record and enters development\devlab01 in the Raw data field. He then clicks OK to apply the transform to the test value. The transform replaces development\devlab01 with devlab01.
    Figure 3. Transformation Regex 3

    When the transforms for this field are tested successfully, the administrator changes the Mode in the transformation record to Active and runs the Transformation application data job to apply this transformation to existing records in the database.