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.
Regular expressions can be used in transform parameters and in condition statements to
determine which characters in a field value are transformed.
- Transform parameters: 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. For details, see Create a transform variable for a transform definition.
- Conditions: Condition statements are used to configure the transforms that select the
characters to change in a field value. When using a regular expression in a condition
statement, make sure to select the matches regex operator.
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
field to transform.
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
as the Transform Type and enters the following values:
- Replace with:$1
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
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